参考文献:php
一、PHP PSR-4 Autoloader 自动加载(中文版)html
二、PHP编码规范(中文版)导读git
三、PHP-PSR-[0-4]代码规范github
基本步骤:json
(1)在vendor 下新建一个项目segmentfault
(2)修改composer.json浏览器
(3)使用这个命令会自动生成autoload的文件:composer dump-autoloadcomposer
(4)use 该类引入既能够了测试
1、简单的案例:编码
一、新建一个类LuaRedis.php,同时使用命名空间:Openresty
<?php namespace Openresty; class LuaRedis { public static function getView() { echo "NameSpace = ".__NAMESPACE__."<br/> ClassName = ".__CLASS__."<br/> Method = ".__METHOD__; } }
二、编辑composer.json 配置加载目录和空间名
"autoload": { "psr-4": { "Openresty\\": "vendor/phplua" } },
其中"Openresty\\": "vendor/phplua"表示,将Openresty这个空间名绑定到"vendor/phplua"这个目录下
三、使用“composer dump-autoload”这个命令会自动生成autoload的文件
四、如何在项目中使用该类
use Openresty\LuaRedis; class Web { /** * PSR4 自动载入测试 */
public function lua(){ LuaRedis::getView(); } }
五、浏览器访问测试是否自动载入成功,出现如下界面表示自动加载成功
2、引入一个支付宝的SDK
一、下载SDK文件已经目录结构
二、编辑composer.json
"autoload": { "psr-4": { "Openresty\\": "vendor/phplua", "AliyunMNS\\": "vendor/aliyun/AliyunMNS" } },
三、使用“composer dump-autoload”这个命令会自动生成autoload的文件
四、如何在项目中使用该类
use AliyunMNS\Config; class Web { public function aliyun() { $config = new Config(); var_dump($config); } }
五、访问结果,表示成功
object(AliyunMNS\Config)[3] private 'proxy' => null
private 'connectTimeout' => int 3
private 'requestTimeout' => int 35
private 'expectContinue' => boolean false