求助:类的自动加载及CLI交互模式

komyluo 2016-05-26 03:51:43
官方手册上写到:“自动加载不可用于 PHP 的 CLI 交互模式”,但是进行如下尝试:
1、目录结构
path1/
class/
Test.class.php
main.php
2、代码
Test.class.php
class Test {
public static function say() {
echo 'hello';
}
}

main.php
/**
* 自动加载函数
* @param string $class 类名
* @return void
*/
function myAutoload($class){
echo 'myAutoload is working.', PHP_EOL;
include($class . '.class.php');
}

// 设置自动加载路径
set_include_path(dirname(__FILE__) . '\class');

// 注册自动加载函数
spl_autoload_register('myAutoload');

// 当前运行模式
echo php_sapi_name(), PHP_EOL;

// 测试
Test::say();


运行main.php后输出:
cli
myAutoload is working.
hello
如果不定义myAutoload()则会报Fotal error错误。
按手册说的话,即使定义了,也应该不能运行才对的啊,是我对cli模式的理解有误吗?
...全文
186 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
礼物de绷带 2017-08-11
  • 打赏
  • 举报
回复
同问,我也试了,cli模式可以自动加载,PHP5.6 用的 __autoload
xuzuning 2016-05-26
  • 打赏
  • 举报
回复
在哪里看到的?给出链接

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧