我有下一个目录树:
运输
--Transport.php
--Curl.phpSDK.php
SDK.php是名称空间MySDK和类SDK,在该类中我有方法:
protected function _getTransport()
{
if (!($this->_transport instanceof Transport\Transport)) {
$className = 'Transport\\' . ucfirst($this->getOption('transport'));
$this->_transport = new $className();
}
return $this->_transport;
}
但是我收到错误消息:致命错误:在/path/to/repo/lib/SDK.php中找不到类'Transport \ Curl'
当我将$this->_transport = new $className();
更改为$this->_transport = new Transport\Curl();
时,我会很好地获得Transport\Curl
的实例。
请帮助我,我在哪里弄错了?
答案 0 :(得分:0)
您应该根据PHP namespace with Dynamic class name
以\
或带前缀的命名空间开头
$className = '\\Transport\\' . ucfirst($this->getOption('transport'));