1
我有很多具有相同類名的SDK,因此我已將它們移動到文件夾中並創建了命名空間。這些sdks通常用於訪問API。如何在php中取消設置命名空間以訪問全局類
//directory e.g. vendor/company/sdk/files
vendors/ebat/feeback/environment.php
然後我有完全獨立的庫,我創建了自己,包含任何需要與這些sdks進行交互的方法。也命名空間。
//directory e.g.
library/marketplace/ebay/feedback.php
不知道正確的術語是什麼,但在這些庫中有一些全球對象如stdClass
和ReflectionClass
這似乎無法訪問/查找。
feedback.php
namespace Marketplace\Ebay;
class Feedback extends \Ebat\Feedback\EbatNsFeedback_Environment {
//simple example
public function new_ReflectionClass($obj){
return new ReflectionClass($obj);
}
}
現在,如果我嘗試調用此方法
$this->marketplace->ebay->feedback->new_ReflectionClass(new stdClass()));
顯示此錯誤。
Fatal error: Class 'Marketplace\Ebay\ReflectionClass' not found
當我添加一個反斜槓
return new \ReflectionClass($obj);
它,然後給了我這個錯誤
Fatal error: Class 'Ebat\Feedback\ReflectionObject' not fount
我怎麼能訪問本地/全球ReflectionClass
類,所有類似的問題似乎被固定通過添加反斜槓。