到目前为止我还没有使用PHPuse
词,但现在必须......:)
索引.php内容:
require_once 'Classes/MainClass.php';
$obj = new Main();
echo $obj->test();
类/MainClass.php
<?php
use AdminFrontEnd;
class Main {
function test(){
return new AdminFrontEnd("debug");
}
}
AdminFrontEndClass.php内容:
<?php
class AdminFrontEnd {
function __constuctor($test){
echo $test;
}
}
最后,出现以下错误:
致命错误:在 Classes/MainClass.php 中找不到类“AdminFrontEnd”
10号线
根据 @deceze 的评论,您需要使用 require 语句显式导入附加类,或者自动加载。
use 语句用于为类添加别名,正如 @deceze 所说,可用于从不同的命名空间拉入类,或避免类冲突。
拥有一个名为“Main”的类可能并不理想。它是一个单例,还是会有多个“Main”?
也许这个类命名为“App”会更好。
从长远来看,您将需要学习如何使用名称空间,这样如果您使用其他人的类和插件,就不会产生冲突。我添加了一个解决方案,以及下面的一些更广泛的信息。
为了让你摆脱困境:
类/MainClass.php
<?php
require_once 'Classes/AdminFrontEnd.php';
class Main { /* etc... */
我建议进一步阅读:
创建自动加载的示例:
http://php.net/manual/en/language.oop5.autoload.php http://php.net/manual/en/language.oop5.autoload.php
您可能还想了解命名空间:
http://php.net/manual/en/language.namespaces.php http://php.net/manual/en/language.namespaces.php
我还强烈建议您阅读有关互操作性编码标准的内容。一开始需要了解很多内容,但它将帮助您理解使用命名空间和自动加载器背后的逻辑。
http://www.php-fig.org/ http://www.php-fig.org/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)