网站建设中搜索引擎,wordpress 不在首页显示文章,网站建设企业排名推广,wordpress自己安装了插件吗前言在学习完教程中添加自定义助手函数文件时#xff0c;还是得记录一下#xff0c;感觉对composer知道的东西太少了#xff0c;一些命令到底做了什么还是不知道#xff0c;总结一下。添加自定义助手函数文件在开发项目的时候#xff0c;有时候会定义一些函数#xff0c;…前言在学习完教程中添加自定义助手函数文件时还是得记录一下感觉对composer知道的东西太少了一些命令到底做了什么还是不知道总结一下。添加自定义助手函数文件在开发项目的时候有时候会定义一些函数而这些函数又不能放在Laravel框架的助手函数文件中如果我们把代码部署到生产环境中再使用composer install安装扩展又会覆盖我们之前修改的文件。可见添加的函数必须要定义在我们的文件中而且这个文件必须要纳入到git仓库中。这么一来觉得放在app目录还不错这个目录是应用相关的目录像中间件、模型、控制器都在这个这个目录。所以我们在app目录下添加helpers.php文件添加的函数就可以定义在这个文件中了。自动加载助手函数在上面我们创建了助手函数文件把函数定义在app/helpers.php文件中了但是这个文件不会被composer自动加载如果要composer自动加载器加载我们定义的函数文件必须要告诉composer。如何告诉composer加载我们定义的助手函数文件呢很简单在项目根目录中的composer.json文件添加即可怎么添加也是有讲究的我把我添加的结果放在这里。...autoload: {classmap: [database/seeds,database/factories],files: [app/helpers.php #这行便是添加的助手函数]},.....通过上面贴出的代码我们可以知道在autoload参数下的files参数可以定义要添加的文件这个文件在添加时要注意路径首先助手函数文件helpers.php在app目录下而app目录和composer.json是在同一个目录下所以添加助手函数时应该这么写app/helpers.php也就是说通过这个相对路径可以找到对对应的文件不然composer的文件加载会失败。定义了是不是就完事了呢还没有composer在加载助手函数文件时并不是通过composer.json文件来记载函数文件而是通过composer加载器定义的几个文件每次从这些文件中加载文件。所以我们在定义了函数文件后需要执行composer dumpauotload指令通过composer程序来生产加载文件。执行后会修改vendor/composer目录下的autoload_static.php和auoload_files.php文件。到底在文件中修改了什么呢其实就是把定义的helpers.php添加到这个两个文件中看下添加后的文件内容。// autoload_static.phpclass ComposerStaticInit49922490dbe4935d5c7b9f60b23ceb32{public static $files array (// ......ed962a97bd972bc82007176b647d4e36 __DIR__ . /.. . /facade/ignition/src/helpers.php,b4e3f29b106af37a2bb239f73cdf68c7 __DIR__ . /../.. . /app/helpers.php,);// auoload_files.phpreturn array(ed962a97bd972bc82007176b647d4e36 $vendorDir . /facade/ignition/src/helpers.php,b4e3f29b106af37a2bb239f73cdf68c7 $baseDir . /app/helpers.php,);可以看到这两个文件中都有helpers.php文件具体用到哪个文件呢之后我会一篇文章来说明composer加载文件的原理。总结一个小小的助手文件可以引出这么多知识点如果对这些知识点不了解只是知道这么做而没有去了解为什么这么做学习就像是囫囵吞枣下次估计会忘了使用composer dumpautoload来生产加载规则文件还不知道是哪里出了问题。这么学习下来感觉一个小节可以学习很多知识点时间消耗的也挺长了写这篇文章都已经过去半个小时了感觉也没有说什么就是把过程捋了一遍。就这样吧如果把精力全部用在写文章而忘记是学习了解框架的有点本末倒置了写文章的目的是加深学习看看自己到底知道多少。本作品采用《CC 协议》转载必须注明作者和本文链接