php使用了composer之后 还需要自己写autoload方法吗

最近看到composer这东西之后在纠结php使用了composer之后 还需要自己写autoload方法吗?还是都用composer载入?其实对composer了解不是很深,求指教。

不用
自动生成的 vendor 目录下,有 autoload 函数,会根据命名空间加载

composer已经帮你生成了一个loader,就不用自己写加载器了,/vendor/composer目录下会包含autoload_real.php文件主要用来依次按照psr-4/psr-0/classmap/files四个标准来实现命名空间和文件路径的映射,当然目前主要是psr-4标准文件是autoload_psr4.php,psr-0标准要被淘汰了。看/vendor/composer目录下文件源码发现,把加载的路径数据依次放在ClassLoader对象的私有变量里,通过$loader->registertrue其实就是用spl_register_autoload来做的。

推荐两篇文章:Laravel 执行流程(一)之自动加载,深入 Composer autoload。两篇文章写的挺好,可以研究下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注