PHP7 学习笔记PHP PSR-4 Autoloader 自动加载

Posted Tinywan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP7 学习笔记PHP PSR-4 Autoloader 自动加载相关的知识,希望对你有一定的参考价值。

参考文献:

1、PHP PSR-4 Autoloader 自动加载(中文版)

2、PHP编码规范(中文版)导读

3、PHP-PSR-[0-4]代码规范

基本步骤:

(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)[3]
  private \'proxy\' => null
  private \'connectTimeout\' => int 3
  private \'requestTimeout\' => int 35
  private \'expectContinue\' => boolean false

 

以上是关于PHP7 学习笔记PHP PSR-4 Autoloader 自动加载的主要内容,如果未能解决你的问题,请参考以下文章

PHP7 学习笔记如何使用zephir编译一个扩展记录

PHP7 学习笔记使用phpstudy快速配置一个虚拟主机

PHP7 学习笔记PHPExcel vs PhpSpreadsheet and PHP_XLSXWriter

PHP7 学习笔记403 Forbidden - WAMP Server 2.5

只需将文件放入PSR-4目录即可加载PHP类

php PSR-4类自动加载器#php #class #autoloader