使用名称空间PhP 5.5时访问第三方代码

时间:2014-06-09 09:41:49

标签: php namespaces

我正在使用php 5.5开发,我在这里提供了我的文件的代码

   <?php
     require_once  'jsonrpcphp/includes/jsonRPCClient.php';
     class Client
     {
         private $remoteMain;
         public function __construct($param)
         {
            $this->remoteMain = new jsonRPCClient('http://
                urlTofile/nameOfFile.php');

这段代码非常合适,但是当我在文件顶部放置一个命名空间时,我需要为文件添加命名空间时出现问题,例如:

 <?php
    namespace packagename\subPackage;

     require_once  'jsonrpcphp/includes/jsonRPCClient.php';

     class Client

将显示此错误

        Class 'packagename\subPackage\jsonRPCClient' not found in 

问题是: 如何在我需要命名空间时访问不在我的命名空间中并由第三方提供的类

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您位于namespace packagename\subPackage,则new jsonRPCClient会引用课程packagename\subPackage\jsonRPCClient。如果要使用全局命名空间中的类,则需要明确指定:

new \jsonRPCClient

或者,显式别名文件顶部的类:

use jsonRPCClient;

new jsonRPCClient(...)

请RTM:http://php.net/manual/en/language.namespaces.basics.php