Laravel中如何增加自定义全局函数详解


Posted in PHP onMay 09, 2017

前言

在日常开发工作中,有时候我们需要给 Laravel 添加一些自定义全局函数。当然,我们可以直接修改 Laravel 的 Helpers.php 文件来实现(这是极其不推荐的)。

接下来我们讨论以下两种实现方式:

无论是以下哪种方式,都必须创建包含自定义函数的 PHP 文件

      方式一:修改 Laravel 根目录下 bootstrap/autoload.php 文件

      方式二:修改 composer.json 的 autoload 配置,并更新 composer 的 autoload_files.php 文件

创建包含自定函数的 PHP 文件 functions.php,文件位置在 Laravel 根目录的 app/Helpers目录下

<?php
// 判断函数是否已经存在
if (!function_exists('test')) {
 function test()
 {
  return "test";
 }
}

方式一:

修改 Laravel 根目录下 bootstrap/autoload.php 文件,引入自定义函数

<?php 
// 引入自定义全局函数
require __DIR__ . '/../app/Helpers/functions.php';

方式二:

修改 composer.json 的 autoload 配置项,在 files 中加入要引入的自定义函数文件

"autoload": {
 ...
 ...
 "files": [
  "app/Helpers/functions.php"
 ]
},

更新 composer 的 autoload_files.php 文件,进入项目根目录执行下面命令

composer dump-autoload

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
PHP文件打开、关闭、写入的判断与执行代码
May 24 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
php支持中文字符串分割的函数
May 28 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
Jul 08 PHP
jQuery+PHP实现图片上传并提交功能
Jul 27 PHP
laravel 5.3中自定义加密服务的方案详解
May 09 #PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
May 09 #PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
May 08 #PHP
ThinkPHP实现图片上传操作的方法详解
May 08 #PHP
PHP开发中csrf攻击的简单演示和防范
May 07 #PHP
ThinkPHP框架实现数据增删改
May 07 #PHP
thinkphp 验证码 的使用小结
May 07 #PHP
You might like
Ajax PHP简单入门教程代码
2008/04/25 PHP
php explode函数实例代码
2012/02/27 PHP
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
PHP 代码简洁之道(小结)
2019/10/16 PHP
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
Node.js 数据加密传输浅析
2016/11/16 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
nodejs更改项目端口号的方法
2018/05/13 NodeJs
vue和webpack安装命令详解
2018/06/15 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
python使用urllib模块开发的多线程豆瓣小站mp3下载器
2014/01/16 Python
python利用datetime模块计算时间差
2015/08/04 Python
Python 字符串与数字输出方法
2018/07/16 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
台湾良兴购物网:EcLife
2019/12/01 全球购物
中学老师的自我评价
2013/11/07 职场文书
更夫岗位责任制
2014/02/11 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
员工加薪申请报告
2015/05/15 职场文书
地雷战观后感
2015/06/09 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis