PHP7 学习笔记(四)PHP PSR-4 Autoloader 自动加载
参考文献:
1、PHP PSR-4 Autoloader 自动加载(中文版)
基本步骤:
(1)在vendor 下新建一个项目
(2)修改composer.json
(3)使用这个命令会自动生成autoload的文件:composer dump-autoload
(4)use 该类引入既可以了
一、简单的案例:
1、新建一个类LuaRedis.php,同时使用命名空间:Openresty

<?php namespace Openresty; class LuaRedis
{
public static function getView()
{
echo "NameSpace = ".__NAMESPACE__."<br/> ClassName = ".__CLASS__."<br/> Method = ".__METHOD__;
}
}
2、编辑composer.json 配置加载目录和空间名
"autoload": {
"psr-4": {
"Openresty\\": "vendor/phplua"
}
},
其中"Openresty\\": "vendor/phplua"表示,将Openresty这个空间名绑定到"vendor/phplua"这个目录下
3、使用“composer dump-autoload”这个命令会自动生成autoload的文件

4、如何在项目中使用该类
use Openresty\LuaRedis; class Web
{
/**
* PSR4 自动载入测试
*/
public function lua(){
LuaRedis::getView();
}
}
5、浏览器访问测试是否自动载入成功,出现以下界面表示自动加载成功

二、引入一个支付宝的SDK
1、下载SDK文件已经目录结构

2、编辑composer.json
"autoload": {
"psr-4": {
"Openresty\\": "vendor/phplua",
"AliyunMNS\\": "vendor/aliyun/AliyunMNS"
}
},
3、使用“composer dump-autoload”这个命令会自动生成autoload的文件

4、如何在项目中使用该类
use AliyunMNS\Config; class Web
{
public function aliyun()
{
$config = new Config();
var_dump($config);
}
}
5、访问结果,表示成功
object(AliyunMNS\Config)[]
private 'proxy' => null
private 'connectTimeout' => int
private 'requestTimeout' => int
private 'expectContinue' => boolean false
PHP7 学习笔记(四)PHP PSR-4 Autoloader 自动加载的更多相关文章
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- Redis深入学习笔记(一)Redis启动数据加载流程
这两年使用Redis从单节点到主备,从主备到一主多从,再到现在使用集群,碰到很多坑,所以决定深入学习下Redis工作原理并予以记录. 本系列主要记录了Redis工作原理的一些要点,当然配置搭建和使用这 ...
- webpack学习笔记—优化缓存、合并、懒加载等
除了前面的webpack基本配置,还可以进一步添加配置,优化合并文件,加快编译速度.下面是生产环境配置文件webpack.production.js,与wenbpack.config.js相比其不需要 ...
- PHP PSR-4 Autoloader 自动加载(中文版)
Autoloader 关键词 “必须”("MUST").“一定不可/一定不能”("MUST NOT").“需要”("REQUIRED"). ...
- Android学习笔记之BitmapFactory.Options实现图片资源的加载...
PS:小项目总算是做完了...历经20多天...素材,设计,以及实现全由自己完成...心力憔悴啊...该写写博客记录一下学习到的东西了... 学习内容: 1.使用BitmapFactory.Optio ...
- ES6学习笔记(二十)Module 的加载实现
上一章介绍了模块的语法,本章介绍如何在浏览器和 Node 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载). 1.浏览器加载 传统方法 HTML 网页中,浏览器通过<sc ...
- Windows调试学习笔记:(一)WinDBG中加载SOS和CLR
最近产品环境出现了部分服务器当机情况,虽然重启之后问题就不出现了.但本着彻底解决问题的态度,想要找到root cause.多次尝试Visual Studio失败(可能是代码惊醒了优化和签名)之后,决定 ...
- AntDesign vue学习笔记(五)导航菜单动态加载
一般的后台系统都有一个树形导航菜单,具体实现如下,主要参考https://my.oschina.net/u/4131669/blog/3048416 "menuList": [ { ...
- PHP自动加载SPL的四种处理方式
libs目录下有3个类文件: Test.class.php <?php class Test { public function __construct() { echo "Loadi ...
随机推荐
- Oracle Gateways 方式创建dblink 连接 SQLSERVER数据库
1. 安装多次 发现在同一个机器上面总出问题,所以建议找一个没有安装oracle的机器上面进行安装gateways 2. 下载oracle gateways 并且解压缩, 下载地址详情见官网. 下载的 ...
- 删除Mac上的mysql数据库
sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MySQLCOMsudo ...
- 排查mysql innodb Lock wait timeout exceeded; try restarting transaction的问题
OMG写的时候崩溃了一次. 触发关注这个问题的事情是 我们在使用pt-online-schedule 改表的时候总是拿不到锁,并且报出mysql innodb Lock wait timeout ex ...
- Log4J日志信息配置文件详解
原文地址: http://blog.csdn.net/wuxintdrh/article/details/78282097 使用log4j 记录日志甚是方便,其提供了两种日志配置方式,log4j.pr ...
- Nginx ACCESS阶段 如何限制IP访问
192.168.1.0/24(最大32位的子网掩码) 每个ip是8位 那么 24/8 = 3 也就是前三个二进制 是 11111111 11111111 11111111 是指子网掩码的位数.写的是多 ...
- asp.net 后台<%@ Page%> page指令属性
aspx文件有如下一行代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" ...
- python深浅copy探究
引入 在python程序中,如果我们操作一个变量的值去做运算,而又想在下次调用时,仍使用原来的变量的值去做运算,那么我们我们就需要将这个变量去做备份,这就是本文所要探究的问题. 开始 变量-对象-引用 ...
- MT【234】正方形染色(二)
有$n$个正方形排成一行,今用红,白,黑三种颜色给这$n$个正方形染色,每个正方形只能染一种颜色.如果要求染这三种颜色的正方形都是偶数个,问有多少种不同的染色方法. 解答: 设有$a_n$种不同的染法 ...
- 51Nod 1048 1383 整数分解为2的幂
任何正整数都能分解成2的幂,给定整数N,求N的此类划分方法的数量! 比如N = 7时,共有6种划分方法. 7=1+1+1+1+1+1+1 =1+1+1+1+1+2 =1+1+1+2+2 ...
- BZOJ5298 [CQOI2018] 交错序列 | 矩阵乘法和一个trick
题面 求所有长度为\(n\)的.没有相邻的1的01序列中,若0有\(x\)个.1有\(y\)个,\(x^ay^b\)之和(对\(m\)取模). \(n \le 10^7, m \le 10^8, 0 ...