`

set_include_path() get_include_path() __autoload()三个php方法

    博客分类:
  • php
php 
阅读更多
PHP5中提供一个叫 __autoload() 的方法, 当我们使用一个之前没定义的类或接口时,可以在这个方法中做最后的处理。

function __autoload($className){
    //如果是其他类,将类名转为小写
    include strtolower($className).".class.php";	
}


但一般情况下,在这之前我们需要用 get_include_path() 和 set_include_path() 方法设置include包含文件所在的目录

    $include_path=get_include_path();
    $include_path.=PATH_SEPARATOR.OURCLASSPATH."/"; 
    set_include_path($include_path);


其中 PATH_SEPARATOR 分隔符号 Linux(:) Windows(;)
分享到:
评论

相关推荐

    php中spl_autoload详解

    在某些框架中,会结合以上方法,如设置 `include_path`、注册自定义的自动加载函数以及使用 `spl_autoload_register` 来确保类的正确加载。这样,即使类文件不在当前脚本的同级目录下,也能在指定的路径中找到并加载...

    PHP include_path设置技巧分享

    - `spl_autoload_register()`: 这个函数用于注册一个或多个自动加载函数,以在需要时自动加载类文件,可以和`include_path`配合使用。 - `array_search()`: 用于在数组中搜索给定的值,返回匹配项的键。 - `in_array...

    PHP文件自动加载

    set_include_path(get_include_path() . PATH_SEPARATOR . implode(PATH_SEPARATOR, $config['include'])); ``` **2. 类自动加载实现** ```php class Loader { public static function autoload($class) { $path...

    php自动加载的两种实现方法

    复制代码 代码如下: set_include_path(‘aa’ . PATH_SEPARATOR . get_include_path()); function __autoload($className) { //如果加这个检测, 因为此文件不在当前目录下,它就会检测不到文件存在, //但include是能...

    Zend的AutoLoad机制介绍

    在autoload方法内部,会首先调用getClassAutoloaders方法,这个方法会根据类的命名空间确定使用哪一个AutoLoader。实际上,它会查找内部属性_namespaces,看是否存在与类命名空间相对应的键值对,如果存在则继续加载...

    ThinkPHP3.2 集成 php-resque: PHP Resque Worker

    vendor('php-resque.autoload'); $argv = json_decode(getenv('Q_ARGV')); foreach ($argv as $item) { if (strpos($item, '=')) { list($key, $val) = explode('=', $item); } else { $key = $val = $item; ...

    可以提高PHP编程效率的一些方法_.docx

    #### 六、避免使用`__get`, `__set`, `__autoload` - **性能问题**:这些魔术方法虽然提供便利,但在性能上有较大损耗,应该尽量避免使用。 #### 七、优化文件包含 - **`require_once`的成本**:尽管`require_...

    50个提高PHP编程效率的方法

    尽量避免使用`__get`、`__set`和`__autoload`等魔术方法,因为这些方法的执行会导致额外的性能开销。 #### 7. 谨慎使用`require_once` 虽然`require_once`能够防止重复加载同一个文件,但它也会检查文件是否已经被...

    提高PHP编程效率的53个要点(经验小结)

    PHP的魔术方法如__get、__set、__autoload应当尽量避免使用,因为它们会带来额外的性能开销。在加载文件时,使用绝对路径可以避免PHP在include_path中查找,从而节省时间。在需要获取脚本开始执行时间时,使用$_...

    x-debug入门配置(pdf)

    ini_set('include_path', '/home/httpd/ezcomponents/trunk'); require_once 'Base/src/base.php'; function __autoload($className) { ezcBase::autoload($className); } $cfg = ezcConfigurationManager:...

    google api php client

    1. Set the path to these credentials using the `GOOGLE_APPLICATION_CREDENTIALS` environment variable: ```php putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json'); ``` 1. Tell ...

    Phpbean路由转发的php代码

    set_include_path(get_include_path() . PATH_SEPARATOR . SITE_PATH . '/libs/'); // 设置库文件的包含路径 function __autoload($filename) { $filepath = SITE_PATH . '/libs/' . str_replace('_', '/', $...

    53个编程技巧提高PHP开发效率

    7. **避免魔法方法**:尽量避免使用 `__get`, `__set` 和 `__autoload` 这些魔术方法,它们会增加额外的性能开销。 8. **绝对路径引用**:在包含文件时使用绝对路径,这样可以避免 PHP 在 `include_path` 中查找...

    PHP编程效率的20个要点

    避免使用`__get`, `__set`, `__autoload` 这些魔术方法虽然提供了灵活性,但在性能方面存在明显不足,尽量避免使用。 #### 7. 减少`require_once()`的使用 `require_once()`虽然能够防止重复包含同一文件,但其...

    53个编程技巧提高PHP开发效率.doc

    7. **避免魔法方法**:尽量减少对`__get`, `__set`, `__autoload`等魔法方法的使用,它们在运行时有额外的开销。 8. **使用绝对路径**:在包括文件时使用绝对路径,这样PHP不需要搜索`include_path`,从而节省时间...

    PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间

    这两个方法是PHP实现属性重载的关键。 ```php class MyClass { public function __set($name, $value) { // 实现逻辑 } public function __get($name) { // 实现逻辑 } } ``` 2. **对象的复制**: 在...

    提高php编程效率54.doc

    7. **魔术方法**:避免使用`__get`, `__set`, `__autoload`等魔术方法,因为它们有额外的性能开销。 8. **文件包含**:使用绝对路径`require_once`或`include`,避免在`include_path`中查找文件,减少解析时间。 9...

    54点提高PHP编程效率!

    避免使用`__get`, `__set`, `__autoload` 这些魔术方法虽然提供了便利性,但会影响性能,应当尽量避免使用它们。 #### 7. 谨慎使用`require_once()` 尽管`require_once()`可以确保文件只被包含一次,但它会检查...

Global site tag (gtag.js) - Google Analytics