PHP 自动载入

简介: 当一个项目需要根据不同的请求载入不同的类的时候,之前的做法是require不同的文件进来,但是如果数量巨大就没办法一个语句一个语句去写,而且如果有不小心误删的文件,就会导致PHP FATAL ERROR。在php5.2之后,我们使用__autoload()方法来自动加载类,但是这个方式后来也不好。比如在一个项目中我引入了三个框架,每个框架都有一个autoload,这样的话会报一个函数名重复

当一个项目需要根据不同的请求载入不同的类的时候,之前的做法是require不同的文件进来,但是如果数量巨大就没办法一个语句一个语句去写,而且如果有不小心误删的文件,就会导致PHP FATAL ERROR。在php5.2之后,我们使用__autoload()方法来自动加载类,但是这个方式后来也不好。比如在一个项目中我引入了三个框架,每个框架都有一个autoload,这样的话会报一个函数名重复的错误。

不过在php5.4版本以后,标准php库提供了一个方法,解决了这些问题:spl_autoload_register()

使用方法如下:


index.php

<span style="font-size:14px;"><?php

spl_autoload_register('autoloadIndex');

t1::test();
t2::test();



function autoloadIndex($class)
{
    require __DIR__."/".$class.".php";
}</span>

t1.php

<span style="font-size:14px;"><?php

class T1 {

    public function __construct()
    {
    }

    public function test()
    {
        echo __FILE__;
    }
}</span>


t2.php


<span style="font-size:14px;"><?php

class T2 {

    public function __construct()
    {
    }

    public function test()
    {
        echo __FILE__;
    }
}</span>


相关文章
|
JSON PHP 数据安全/隐私保护
PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密
PHP RSA密文过长加密解密,PHP RSA证书大小自动适配,PHP RSA分段加密
597 0
|
PHP
php自动将数字字符串转换为int / float
php自动将数字字符串转换为int / float
86 0
|
API PHP
PHP对接百度API访问自动提交收录SEO
PHP对接百度API访问自动提交收录
571 0
PHP对接百度API访问自动提交收录SEO
php-cs-fixer 自动将 PHP 代码以 PSR-2 规则修正
PHP Coding Standards Fixer 是在不破坏相容性的情况下,将 PHP 的代码往 PSR-2 的方向修正。
181 0
php-cs-fixer 自动将 PHP 代码以 PSR-2 规则修正
|
PHP
短视频源码php,自动查找重复贴图
短视频源码php的素材库中,存在各种各样的商品贴图,为了避免出现重复的情况,可以使用如下的代码进行查找
483 0
|
Web App开发 监控 应用服务中间件
PHP 脚本自动监控 Nginx 504错误
#!/usr/bin/php 将该文件命名为 504check.php修改权限 chmod +x 504check.php 然后crontab -e添加一行 * * * * * /xx/504check.php >/dev/null 2>&1 每分钟系统就会自动检测网站是否响应很慢,若如此,则重启。
1030 0
|
机器学习/深度学习 PHP
PHP技术分享-浙备号自动提取数字
<?php $ICP = '浙公网安备3301000000001号'; // 浙公网安备号自动提取数字 if ($ICP) { echo "<a href='http://www.beian.gov.
1264 0
|
PHP Linux JavaScript
PHP从内容中自动获取文章摘要
文章一般都会有摘要需要维护,一方面是 seo,另一方面还可以满足一些美观的要求,就像这样: PHP从内容中自动获取文章摘要 文章摘要 经常希望后台维护好内容之后,摘要也能能自动生成一个。
1524 0