博客列表 >composer.json的编写使用

composer.json的编写使用

零龙
零龙原创
2020年08月18日 05:34:371289浏览

composer.json的编写使用类文件路由

1.传统方式 include 或者 require

源码示例:

  1. //1 .传统方式 include 或者 require
  2. require 'app/controller/User.php';
  3. //引入app/controller/User.php文件
  4. use app\controller\User;
  5. //导入app\controller\user的类和方法
  6. echo User::hello();
  7. //实例化app\controller\user.php中的User类

示例图:

2.注册知道加载函数使用一个内置的函数来完成

源码示例:

  1. <?
  2. //注册自动加载函数
  3. //加载类文件使用一个内置的函数来完成
  4. spl_autoload_register(function($class){
  5. $path =str_replace('\\',DIRECTORY_SEPARATOR,$class);
  6. //获取类的路径名称
  7. //替换'\'为'/'使用DIRECTORY_SEPARATOR
  8. $classFile = __DIR__ . '/'.$path.'.php';
  9. //生成一个完整的类文件名
  10. require $classFile;
  11. //返回类文件名
  12. //同等于:require 'app/controller/User.php';
  13. });
  14. use app\controller\User;
  15. echo User::hello();

示例图:

3.使用composer中的自动加载器

引入requireonce _DIR .’/vendor/autoload.php’;
对composer.json修改。使用files

示例:

  1. {
  2. "autoload": {
  3. "files": [
  4. "app/controller/User.php",
  5. "lib/Order.php",
  6. "lib/Goods.php"
  7. ]
  8. }
  9. }
  • 使用composer获取类文件名.使用files

  • 对composer.json修改。使用classmap

示例:

  1. {
  2. "autoload": {
  3. "classmap": [
  4. "app/controller",
  5. "lib"
  6. ]
  7. }
  8. }
  • 使用composer获取文件目录,使用classmap

  • 对composer.json修改。使用psr-4

示例:

  1. {
  2. "autoload": {
  3. "psr-4":{
  4. "app\\controller\\":"app/controller",
  5. "lib\\":"lib"
  6. }
  7. }
  • 使用composer获取,推荐使用psr-4可以获取多个目录下的类文件

源码及注释:

  1. <?php
  2. //1.使用composer中的自动加载器
  3. //调用的是composer中的字段加载器功能
  4. require_once __DIR__ .'/vendor/autoload.php';
  5. //composer.json:autoload:filese:可以加载任意位置的类文件
  6. // 注册完成后,在终端执行命令:composer dump-autoload,使files字段生效
  7. //composer.json:autoload:classmap :类映射,批量注册类
  8. //autoload :psr-4 类的命名空间:类所在的路径目录,进行绑定,命名空间最后必须以“\\”空间分隔符结尾
  9. //只要是composer.json中的‘autoload’字段的内容发生变化,就必须执行composer dumpautoload让它注册类
  10. //2。注册类别名
  11. use app\controller\User;
  12. use lib\Goods;
  13. use lib\Order;
  14. //3.注册类别名
  15. //4.调用类成员
  16. echo User::hello();
  17. echo "<hr>";
  18. echo Order::iNdex();
  19. echo "<hr>";
  20. echo Goods::iNdex();
  • 实例中使用了psr-4对composer.json修改。可以调用多个目录中的类文件。

composer快速实现一个迷你的php开发框架

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议