博客列表 >第16章 0303-门面模式与Composer,(composer中自动加载的实现)

第16章 0303-门面模式与Composer,(composer中自动加载的实现)

努力工作--周工--Robin
努力工作--周工--Robin原创
2021年03月10日 23:27:46592浏览

一、 需求情况;

  1. demo1.php文件要使用,application/controller文件夹下GoodsController.phpLoginController.php'两个类中的各自的index()方法;

二、 传统的的方式,采用require ‘’命令,引入要使用的文件;

  1. require 'application/controller/GoodsController.php';
  2. require 'application/controller/LoginController.php';

三、 文件级,采用composer自动加载 autoload;

  1. 1、在要使用自动加载功能的文件夹,也就是demo1.php文件所在文件夹,创建一个只有两个空的大括号{},composer.json文件;
  2. 2、在当前文件夹中打开cmd终端,使用composer install命令,安装composer目录框架;
  3. 文件夹中会自动创建vendor文件夹,和composer.lock文件,如图:

  1. 3、在composer.json之前创建的两个空的大括号{}中间,使用文件加载,代码如下:
  2. "autoload": {
  3. "files": [
  4. "application/controller/GoodsController.php",
  5. "application/controller/LoginController.php"
  6. ]
  7. }
  8. 4、在demo1.php中使用require语句导入autoload.php文件,代替之前的导入的2个类文件,代码如下:
  9. require 'vendor/autoload.php';
  10. 5、最后在cmd终端,执行"composer dump"命令,更新autoload.php文件;

四、 目录级,采用composer自动加载 autoload;;

  1. 1、和第三节,自动加载文件级的步骤:1245步骤都一样;
  2. 2、在composer.json之前创建的两个空的大括号{}中间,使用文件加载,代码如下:
  3. "autoload": {
  4. "classmap": [
  5. "application/controller"
  6. ]
  7. }
  8. 注:目录可以只写application目录,composer会自动遍历其子目录,为了系统的效率建议把目录写全;
  9. 3、记得,最后在cmd终端,执行"composer dump"命令,更新autoload.php文件;

五、 空间级,采用composer自动加载 autoload;

  1. 1、和第三节,自动加载文件级的步骤:1245步骤都一样;
  2. 2、在composer.json之前创建的两个空的大括号{}中间,使用文件加载,代码如下:
  3. "autoload": {
  4. "psr-4": {
  5. "app\\controller\\": "application\\controller"
  6. }
  7. }
  8. 注:这里目录可以只写"app\\ ": "application "composer会自动遍历其子目录,为了系统的效率建议把目录写全;
  9. "app\\controller\\"最后面的"\\",作为命名空间分隔符必须写;
  10. 3、记得,最后在cmd终端,执行"composer dump"命令,更新autoload.php文件;
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议