为了账号安全,请及时绑定邮箱和手机立即绑定

PHP两个类使用同一个命名空间,无法相互调用

PHP两个类使用同一个命名空间,无法相互调用

PHP
侃侃尔雅 2019-03-15 13:24:19
创建了两个类,C和D,都属于同一个namespace:func,在D的构造函数中实例化C并调用C里的cc方法,报找不到func下的C类。 //C.php <?php namespace func; class C { public function cc() { echo 'this is C->cc'; } } //D.php <?php namespace func; class D { public function __construct() { $c = new C(); $c->cc(); } } new D(); 执行D.php,报错信息如下: ClivedeMBP:Workspace clive$ php D.php PHP Fatal error: Uncaught Error: Class 'func\C' not found in /Users/clive/Workspace/D.php:7 Stack trace: #0 /Users/clive/Workspace/D.php(11): func\D->__construct() #1 {main} thrown in /Users/clive/Workspace/D.php on line 7 Fatal error: Uncaught Error: Class 'func\C' not found in /Users/clive/Workspace/D.php on line 7 Error: Class 'func\C' not found in /Users/clive/Workspace/D.php on line 7 Call Stack: 0.0010 352608 1. {main}() /Users/clive/Workspace/D.php:0 0.0029 352648 2. func\D->__construct() /Users/clive/Workspace/D.php:11 请问,同一个命名空间下的两个类应该怎么写,才能彼此调用啊?
查看完整描述

2 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

你加载了C.php吗?

require('C.php');
查看完整回答
反对 回复 2019-03-18
?
精慕HU

TA贡献1845条经验 获得超8个赞

使用__autoload,或者 spl_autoload_register 自动加载你的类

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 304 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信