zoukankan      html  css  js  c++  java
  • include、ruquire使用相对路径总结

    a文件包含b文件,b文件以相对路径包含c文件。那么。b中相对路径是相对哪个文件而言呢?

    在其他程序语言中。处理方式是:b文件的中的相对路径是相对b文件而言的。这样的好处是可以开发出与路径无关的程序包。



    而在php中。则是相对于当前工作目录而言的。所以,b文件的中的相对路径是相对a文件而言的。


    在thinkphp中的使用:

    在入口文件index.php中必须要定义常量。比如代码是:define('THINK_PATH', 'http://www.cnblogs.com/ThinkPHP');

    为什么呢?比如,整个框架是在一个文件夹thinkphp中。index.php中载入ThinkPHP.php文件后。ThinkPHP.php这个框架入口文件里面会载入框架中其他所需的库。由于ThinkPHP.php使用的是相对路径载入其他文件,按照php的处理机制。那么这个相对就是相对于index.php的。而不是相对于ThinkPHP.php文件(如果是相对它的话。那么就不是必须定义THINK_PATH常量了)。所以,需要载入框架其他文件。直接使用类似下面的方式:require THINK_PATH."/Common/runtime.php";



    设计方式学习:


    在php中。相对路径是相对于当前工作目录的文件的。哪个是最终要执行的文件。a需要b,b需要c。那么a才是主文件。就可以理解成当前工作目录的文件。

    所以,开发通用的包的话。可以考虑使用者定义一个常量。那么整个程序包里面的文件都用到这个常量作为路径载入其他文件。

    ----------------------------------------------- Created By 王滔 专注于互联网系统开发 原创文章,转载注明出处, -----------------------------------------------
  • 相关阅读:
    Android ADB 基本命令
    Android Studio修改包名
    Android开发之SurfaceView
    Android呼吸灯效果实现
    Android xml 绘制图形
    设计模式--代理模式C++实现
    设计模式--建造者模式C++实现
    设计模式--模板方法模式C++实现
    设计模式--抽象工厂模式C++实现
    设计模式---工厂方法C++实现
  • 原文地址:https://www.cnblogs.com/wangtao_20/p/1936666.html
Copyright © 2011-2022 走看看