猿问

如何设计一个php自动加载类

┡┈▓libralies
┊┡┈▓database
┊┊┡┈▓driver
┊┊┊┡┈▒mysql.php
┊┊┊┡┈▒mysqli.php
┊┊┊┗┈▒sqlite.php
┊┊┡┈▓query
┊┊┊┡┈▒mysql.php
┊┊┊┡┈▒mysqli.php
┊┊┊┗┈▒sqlite.php
┊┊┡┈▒driver.php
┊┊┗┈▒query.php
┊┟┈▓session
┊┊┟┈▓storage
┊┊┊┟┈▒database.php
┊┊┊┟┈▒mamcache.php
┊┊┊┗┈▒none.php
┊┊┗┈▒storage.php
┊┡┈▒database.php
┊┡┈▒session.php
这样的文件结构,怎样设计一个自动加载类,在实例化类的时候按需加载相的应类
郎朗坤
浏览 322回答 2
2回答

青春有我

方法1(简单粗暴)把你想能自动加载的类的目录添加到自动加载目录中参考这里set_include_path('libralies/database/driver'.PATH_SEPARATOR.get_include_path());...方法2(推荐)根据目录或者命名空间自动加载参考这里function__autoload(){$dir='./libralies';set_include_path(get_include_path().PATH_SEPARATOR.$dir);$class=str_replace('\\','/',$class).'.php';require_once($class);}这种方法需要你在创建类的时候通过命名空间方式如:$a=newLibralies\Databases\Driver\Mysql;__autoload函数会把它转化成相对路径然后导入
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答