是这样的,我写了一些CLASS,比如db.class.php,封装了一些数据库操作。
当我另外再写一个CLASS的时候,比如test.class.php,需要用到db.class.php中的方法的时候就不知道怎么办了,直接require()吧,但是test.class.php本身就是一个被包含文件,我担心会引起路径错误,请问大家应该如何解决这个问题??

解决方案 »

  1.   

    在你最终引用的时候来包含或以最终引用的目录为当前目录来确定路径比如你要在C.PHP中引用B.PHP在B中又引用A.PHP
    那么,引用的基准就是以C.PHP所在的目录为当前目录
    或者你全部改到C.PHP中来引用
      

  2.   

    你需要像个办法设定一个常量ROOT,这个常量是你的网站的根目录,
    然后所有的包含文件都 require ROOT . 'catalog/filename'!
      

  3.   

    1:使用EXTENDS不是还得先包含被继承的文件才行吗?
    2:“在你最终引用的时候来包含或以最终引用的目录为当前目录来确定路径 ”,我现在用的就是这种方法,但是觉得太麻烦,而且程序的独立性不强,不便于重用;
    3:“设定一个常量ROOT”,和1一样的问题,还是得先包含设定常量ROOT的那个文件才行啊?
      

  4.   

    //test.class.php
    require(dirname(__FILE__) . '/db.class.php');上述是假设test.class.php和db.class.php在同一目录的情况。
      

  5.   

    function db_func(){
    global $test;
    ..........
    }