Blogger Information
Blog 40
fans 0
comment 1
visits 24360
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第16章 0303-门面模式与Composer,(composer中自动加载的实现)
努力工作--周工--Robin
Original
591 people have browsed it

一、 需求情况;

  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文件;
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments