当前位置: 首页 > 后端技术 > PHP

laravel如何使用composer自动加载自定义文件夹

时间:2023-03-29 15:01:15 PHP

原文地址1.问题当我们clone了一个laravel框架,然后开始我们的性能,但是我们需要根据业务需要创建一些自定义的文件夹,那么我们应该如何加载它们以及如何避免这样的错误[Symfony\\Component\\Debug\\Exception\\FatalThrowableError]Class'tools\\alyduanxin\\api\_demo\\SmsDemo'notfound二:分三步解决这个问题在laravel项目根目录下创建自己的文件夹,比如我在项目根目录中创建了一个tools文件夹。在项目文件夹根目录找到composer.json文件,在autoload中添加psr-4节点"psr-4":{"tools\\":"tools/"}然后执行composerdump-autoload-o至此我们加载成功。3.解释composerdump-autoload命令。以下是composer官方文档中对dump-autoload命令的解释:dump-autoload如果因为classmap包中新增类,需要更新autoloader(类加载器),可以使用“dump-autoload”无需安装或更新即可执行此操作。此外,它可以转储优化的自动加载器,出于性能原因将PSR-0/4包转换为类映射包。在具有许多类的大型应用程序中,自动加载器会占用每个请求的大部分时间。对我的一切使用类图这在开发中不太方便,但使用此选项您仍然可以使用PSR-0/4以方便使用,并使用类映射来提高性能。选项:--no-scripts:跳过composer.json文件中定义的所有脚本的执行。--optimize(-o):将PSR-0/4自动加载转换为类映射以获得更快的自动加载器。这是特别推荐用于生产,但可能需要一些时间才能运行,因此目前默认情况下不这样做。--classmap-authoritative(-a):仅从类图中自动加载类。隐式启用--optimize.--apcu:使用APCu缓存找到/未找到的类。--no-dev:禁用自动加载开发规则。官方推荐的参数是-o,即composerdump-autoload-o这个命令可以自动将PSR-0/4加载到classmap中,以获得更快的类加载器。推荐在生产环境使用,但是运行起来可能需要一点时间,所以目前不默认