我正在摸索着这个。并不是说它不起作用......这很奇怪。
OS: debian latest
php: 5.6
以下应该工作......
Namespace Client\Error;
class ErrorHandler{
/**
* @param $errorType
* @return FatalError|InputError|SecurityError|php
*/
private function getHandler($errorType)
{
$debug = require_once __DIR__ . "/Handler/$errorType.php";
$errorType = "Handler\\$errorType";
return new $errorType();
}
public function test(){
$this->getHandler('InputError');
}
}
文件夹中的Handler里面是一个空类:
namespace Client\Error\Handler;
class InputError
{
}
当我在实例化中使用绝对命名空间时,此代码有效($ errorType =" Client \ Error \ Handler \ $ errorType")。但我想使用相对的一个。只为da lulz。它们是文件夹Handler中的类。 我尝试使用
在类顶部使用的命名空间Namespace Client\Error;
use Client\Handler;
没了。甚至没有类名或没有它..它是一个功能,我不知道你什么时候包括一个类或一些奇怪的错误我做了。
ps:我正在尝试创建一个新类时出错:
致命错误:Class' Handler \ InputError'没找到....