search

Home  >  Q&A  >  body text

php,如何引用第三方namespace?

我现在得到了第三方的几个php文件,开头都有namespace的,
我怎么能用?

补充,我要用的是
https://github.com/jeremeamia/super_closure

我看说明
use SuperClosure\Serializer;
但是提示
Fatal error: Class 'SuperClosure\Serializer' not found

我如果把自己的php文件也都加上相同的namespace,则就报错找不到系统自身的php文件

大家讲道理大家讲道理2900 days ago346

reply all(4)I'll reply

  • 迷茫

    迷茫2017-04-10 17:03:53

    现在php引入第三方包,普遍都是用的composer,你可以看下composer相关使用方法和概念

    composer require jeremeamia/superclosure

    如果要单独使用某个文件的话,可以直接include。但是一般一个包会有很多个类文件,你不会打算全部include吧 - -#

    psr-4是一种加载标准,将namespace和某个文件路径对应起来,实现按需时的延迟加载;使用composer安装,只需要包含一个composer的引导文件就可以实现psr-4

    当然composer还有很多功能....

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 17:03:53

    如果你的程序没有使用namespace,而你又要使用带有namespace的部分其他程序,首先要确保这些程序文件被include到你的程序中,之后你可以通过直接使用对应类的全名或者使用use引入来访问这些类。

    reply
    0
  • 阿神

    阿神2017-04-10 17:03:53

    那把namespace SuperClosure\Serializer;的php文件require_once()进来应该就不会报错

    reply
    0
  • 阿神

    阿神2017-04-10 17:03:53

    namespace 是用来注册一个文件的路径,所以如果需要使用第三方类包的时候,如果你的代码当中有支持namespace的autoload方法的话,就需要对相关的autoload添加namespace,不同的框架会有不同的autoload方法,如果没有的话,则需要注册自己的autoload方法。如果不打算使用autoload方法的话就需要对你所使用的每个文件进行include。

    reply
    0
  • Cancelreply