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 王滔 专注于互联网系统开发 原创文章,转载注明出处, -----------------------------------------------
  • 相关阅读:
    sqlserver把小数点后面多余的0去掉
    C#使用Linq对DataGridView进行模糊查找
    winform dataGridView DataGridViewComboBoxColumn 下拉框事件
    JGit与远程仓库链接使用的两种验证方式(ssh和https)
    Quartz不用配置文件配置启动
    SpringBoot之退出服务(exit)时调用自定义的销毁方法
    Java注解Annotation
    Java自定义数据验证注解Annotation
    我的ehcache笔记
    Java中泛型Class<T>、T与Class<?>
  • 原文地址:https://www.cnblogs.com/wangtao_20/p/1936666.html
Copyright © 2011-2022 走看看