Heim  >  Artikel  >  Backend-Entwicklung  >  php include_path设置

php include_path设置

WBOY
WBOYOriginal
2016-06-23 14:35:221226Durchsuche

 

 

    

一般情况下,我们设置php的include_path都会通过修改php.ini来实现。
有时候,我们没有服务器的权限。有时候,我们把一个目录加到include_path会让已有的程序冲突。受cakephp的启发:在app/webroot目录下index.php有如下代码

     ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get('include_path'));


我们看到这个程序动态修改include_path。不过cake在这儿是把 CAKE_CORE_INCLUDE_PATH 和 APP_DIR 加到 include_path里,并且优先在这两个目录下找包含程序。
注意到它这里用到了PATH_SEPARATOR这个变量。这样这段代码在windows和linux下能通用。

从中受到启发,我们可以根据自己的需要把一些include目录动态的加入进来。比如说我们有很多libs:lib1,lib2,lib3等等。我们不必把这些libs都加到include_path里,因为它们之间可能冲突。
可以建立一个inc_dir,并把这个目录加入到include_path。在inc_dir下,分别建立inc_path1.php inc_path2.php inc_path3.php
分别写入

     <?php//set_include_path('.'.PATH_SEPARATOR.get_include_path().PATH_SEPARATOR.'E:/DQG/inc');ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.$dirToLib1);<?phpini_set('include_path', ini_get('include_path').PATH_SEPARATOR.$dirToLib2);<?phpini_set('include_path', ini_get('include_path').PATH_SEPARATOR.$dirToLib3);

 

在写程序的时候,比如要用lib2的functions.php
就可以这么写

Code      <?phprequire 'inc_path2.php';require 'functions.php';//.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP编辑器Nächster Artikel:PHP技术(转)