Blogger Information
Blog 22
fans 1
comment 0
visits 17744
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第十期PSR-4编程规范自动加载器、composer安装学习(2020-02-13)
齐齐
Original
603 people have browsed it

PSR-4自动加载器

spl_autoload_register注册加载器

  1. namespace chapter4;
  2. spl_autoload_register(function ($class){
  3. //设置项目前缀
  4. $prefix='App\edu\\';
  5. //设置具有项目前缀类名所对应类的基目录
  6. //App\edu\home\User==>
  7. //App\edu\==>src/home
  8. $base_dir=__DIR__.'\src\\';
  9. //去掉项目前缀,获取一个真实的类名称
  10. $real_dir=substr($class,strlen($prefix));
  11. // die($real_dir);
  12. $path=str_replace('\\',DIRECTORY_SEPARATOR,$real_dir);
  13. //加上基目录和php后缀
  14. $file=$base_dir.$path.'.php';
  15. // die($file);
  16. //查看文件是否存在
  17. var_dump(file_exists($file));
  18. file_exists($file) ? require $file:die('加载失败');
  19. });

载入的脚本: src/home下的User.php

  1. namespace scr\home;
  2. class User
  3. {
  4. public static function test():string
  5. {
  6. return __METHOD__;
  7. }
  8. }
  9. //echo User::class;die();
  10. die(User::test());

实现脚本自动加载

  1. namespace chapter4;
  2. use App\edu\home\User;
  3. require 'demo2.php';
  4. //echo DIRECTORY_SEPARATOR;
  5. echo '<br>';
  6. User::abc();

运行结果

学习总结

1.自动加载实现按需加载,替代了require的直接载入造成的代码冗余。在没有找的情况下,自动触发加载。

2.composer在window的系统下,安装比较傻瓜式,直接下一步就可以。了解会使用了后,突然发现那么简单。

3.看往往比不上动手做,自动加载和composer首次接触,对很多知识点不是很清晰,还需要多接触才能了解的更加透彻。总想多了解一点去研究,耽搁了学习的进程,也不知道是好事情还是坏事?

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
Author's latest blog post