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。
推荐阅读
-
PHP如何通过传引用的思想实现无限分类(代码简单)
-
如何使用php脚本给html中引用的js和css路径打上版本号
-
PHP如何通过传引用的思想实现无限分类(代码简单)
-
yii2 php namespace 引入第三方非namespace库文件时候,报错:Class not found 的解决
-
如何使用php封装类实现图片上传可直接引用_PHP教程
-
php自动加载 - PHP命名空间 namespace 如何实现自动加载
-
Laravel如何引用第三方(自定义)库
-
yii2 php namespace 引入第三方非namespace库文件时候,报错:Class not found 的解决_PHP教程
-
javascript - 如何用php或者js获取当前页面引用的iframe窗口动态url地址
-
php后向引用如何带入到函数参数