简体   繁体   中英

Access 3rd parties codes when using namespace PhP 5.5

I am developing with php 5.5, I provided code of my file here

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

This codes works absolutely fine but the issue comes when I need to put a namespace for the file as soon as I put a namespace at the top of the file, for example:

 <?php
    namespace packagename\subPackage;

     require_once  'jsonrpcphp/includes/jsonRPCClient.php';

     class Client

This error will be displayed

        Class 'packagename\subPackage\jsonRPCClient' not found in 

The question is this: how to access a class which is not in my namespace and provided from 3rd parties when I need to have namespaces

thanks in advance

If you're in namespace packagename\\subPackage , then new jsonRPCClient refers to the class packagename\\subPackage\\jsonRPCClient . If you want to use a class from the global namespace, you need to explicitly specify that:

new \jsonRPCClient

Alternatively, explicitly alias the class at the top of the file:

use jsonRPCClient;

new jsonRPCClient(...)

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM