Rumah >pembangunan bahagian belakang >tutorial php >php,如何引用第三方namespace?
我现在得到了第三方的几个php文件,开头都有namespace的,
我怎么能用?
补充,我要用的是
https://github.com/jeremeamia/super_closure
我看说明
use SuperClosure\Serializer;
但是提示
Fatal error: Class 'SuperClosure\Serializer' not found
我如果把自己的php文件也都加上相同的namespace,则就报错找不到系统自身的php文件
我现在得到了第三方的几个php文件,开头都有namespace的,
我怎么能用?
补充,我要用的是
https://github.com/jeremeamia/super_closure
我看说明
use SuperClosure\Serializer;
但是提示
Fatal error: Class 'SuperClosure\Serializer' not found
我如果把自己的php文件也都加上相同的namespace,则就报错找不到系统自身的php文件
现在php引入第三方包,普遍都是用的composer
,你可以看下composer
相关使用方法和概念
composer require jeremeamia/superclosure
如果要单独使用某个文件的话,可以直接include
。但是一般一个包会有很多个类文件,你不会打算全部include
吧 - -#
psr-4
是一种加载标准,将namespace
和某个文件路径对应起来,实现按需时的延迟加载;使用composer
安装,只需要包含一个composer
的引导文件就可以实现psr-4
。
当然composer
还有很多功能....
如果你的程序没有使用namespace
,而你又要使用带有namespace
的部分其他程序,首先要确保这些程序文件被include
到你的程序中,之后你可以通过直接使用对应类的全名或者使用use
引入来访问这些类。
那把namespace SuperClosure\Serializer;的php文件require_once()进来应该就不会报错
namespace 是用来注册一个文件的路径,所以如果需要使用第三方类包的时候,如果你的代码当中有支持namespace的autoload方法的话,就需要对相关的autoload添加namespace,不同的框架会有不同的autoload方法,如果没有的话,则需要注册自己的autoload方法。如果不打算使用autoload方法的话就需要对你所使用的每个文件进行include。