zoukankan      html  css  js  c++  java
  • php的文件引用

    最近研究公司代码时发现了set_include_path(dirname(__FILE__));这样一行代码,在网上查了些资料,才把这个方法的作用弄清楚。

    首先,dirname(__FILE__)这个方法返回当前代码所在文件的路径。

    而set_include_path这个函数呢,就相当于windows的环境变量。windows可以通过环境变量的路径,来从指定的路径下寻找需要的文件。

    当我们的项目需要引入多个类文件、函数文件时,特别是当所引用的文件路径比较深的时候,我们的代码就会变成下面这样:

    1 <?php
    2 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test1.php");
    3 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test2.php");
    4 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test3.php");
    5 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test4.php");
    6 include("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/test5.php");
    7 ?>

    是不是感觉写出来很多冗余的代码了。

    如果我们设置了set_include_path("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/");那么我们的代码前面的路径就可以省略了。

    1 <?php
    2 set_include_path("xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/");
    3 include("test1.php");
    4 include("test2.php");
    5 include("test3.php");
    6 require("test4.php");
    7 require("test5.php");
    8 ?>

    set_include_path函数还可以设置多个路径变量,在linux下用:分隔,在windows下用;分隔。比如:

     1 <?php
     2 define('A','xxx/xxx/xxx/xxx/xxx/xxx/xxx/xxx/');
     3 define('B','yyy/yyy/yyy/yyy/yyy/yyy/yyy/yyy/');
     4 define('C','zzz/zzz/zzz/zzz/zzz/zzz/zzz/zzz/');
     5 
     6 set_include_path(A.PATH_SEPARATOR.B.PATH_SEPARATOR.C);
     7 
     8 include("test1.php");
     9 include("test2.php");
    10 include("test3.php");
    11 require("test4.php");
    12 require("test5.php");
    13 
    14 ?>

    最后,还有两个php预定义变量

    PATH_SEPARATOR:路径分隔符,include多个路径使用,在win下,当你要include多个路径的话,你要用”;”隔开,但在linux下就使用”:”隔开的。

    还有DIRECTORY_SEPARATOR:目录分隔符,linux上就是’/’    windows上是’\’。

  • 相关阅读:
    【阿里前端面试点】目标,想成为一名好的前端工程师
    JavaScript实现数据双向绑定的三种方式
    a标签的下载链接,如果是图片,点击链接是下载一个图片而不是直接打开,应该怎么办?(添加download属性)
    AngularJs scope详解
    setTimeout可以传第三个甚至更多个参数
    (转) css3中的border-radius详解
    (转) JS原生对象、内置对象、宿主对象的区别
    纯css写的步骤条
    css如何实现滚动条隐藏但鼠标仍然可以滚动
    Js 与浮点数
  • 原文地址:https://www.cnblogs.com/wyycc/p/6819011.html
Copyright © 2011-2022 走看看