Laravel中如何增加自定义全局函数详解
前言
在日常开发工作中,有时候我们需要给 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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
laravel创建类似ThinPHP中functions.php的全局函数
前言 一直觉得ThinPHP中的公共函数是一个很好的设计,因为我们只需要在functions.php中对共用的函数进行封装,然后就可以在全局直接进行调用了.其实Laravel中也有类似的功能的,比如说助手函数,类似于session()等函数,这些助手函数也是全局可以调用的,非常的方便. 下面总结一下,两者之间的差别以及相同点. TP3系列中functions.php文件默认其实是空文件,很好找.我们可以直接封装代码. Laravel5系列中的path/vendor/laravel/framewo
-
Laravel中如何增加自定义全局函数详解
前言 在日常开发工作中,有时候我们需要给 Laravel 添加一些自定义全局函数.当然,我们可以直接修改 Laravel 的 Helpers.php 文件来实现(这是极其不推荐的). 接下来我们讨论以下两种实现方式: 无论是以下哪种方式,都必须创建包含自定义函数的 PHP 文件 方式一:修改 Laravel 根目录下 bootstrap/autoload.php 文件 方式二:修改 composer.json 的 autoload 配置,并更新 composer 的 autoload_files
-
PHP laravel中的多对多关系实例详解
数据表之间是纵横交叉.相互关联的,laravel的一对一,一对多比较好理解,官网介绍滴很详细了,在此我就不赘述啦,重点我记下多对多的关系 一种常见的关联关系是多对多,即表A的某条记录通过中间表C与表B的多条记录关联,反之亦然.比如一个用户有多种角色,反之一个角色对应多个用户. 为了测试该关联关系,我们沿用官网的用户角色示例: 需要三张数据表:users.roles 和 role_user,role_user 表按照关联模型名的字母顺序命名(这里role_user是中间表),并且包含 user_i
-
基于Java中进制的转换函数详解
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Integer.valueOf("876",8).toString() 二进制转十进制 Integer.valueOf(&qu
-
对numpy中的transpose和swapaxes函数详解
transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数. 我们看如下一个numpy的数组: `arr=np.arange(16).reshape((2,2,4)) arr= array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7]], [[ 8, 9, 10, 11], [12, 13, 14, 15]]]) ` 那么有: arr.transpose(2,1,0) array([[[ 0, 8], [ 4, 12]], [[ 1
-
laravel中的fillable和guarded属性详解
所有的Eloquent模型预设会防止批量赋值,所以需要在Model中设置fillable和guarded属性. protected $fillable = ['name']; protected $guarded = ['password']; fillable为白名单,表示该字段可被批量赋值:guarded为黑名单,表示该字段不可被批量赋值. 可为所有属性设置黑名单: protected $guarded = ['*']; laravel的create方法为批量赋值,save方法为逐个手动赋值
-
浅谈Python中的zip()与*zip()函数详解
前言 1.实验环境: Python 3.6: 2.示例代码地址:下载示例: 3.本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables)函数详解 zip()函数的定义 从参数中的多个迭代器取元素组合成一个新的迭代器: 返回: 返回一个zip对象,其内部元素为元组:可以转化为列表或元组: 传入参数:元组.列表.字典等迭代器. zip()函数的用法 当zip()函数中只有一个参数时 zip(iterable)从iterable中依次取
-
Laravel中的Blade模板引擎示例详解
前言 本文主要给大家介绍了关于Laravel中Blade模板引擎的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍吧. Blade 模板引擎 Blade 是 laravel 提供的一个简单强大的模板引擎,它是把 Blade 视图编译成原生的 PHP 代码并缓存起来.缓存会在 Blade 视图改变时而改变,这意味着 Blade 并没有给你的应用添加编译的负担.Blade 视图文件使用 .blade.php 后缀,一般都存储在 resources/views 目录下. 模板继承 先
-
laravel中的错误与日志用法详解
本文实例讲述了laravel中的错误与日志用法.分享给大家供大家参考,具体如下: 日志 laravel中的日志是基于monolog而封装的.laravel在它上面做了几个事情: ① 把monolog中的addInfo等函数简化成为了info这样的函数 ② 增加了useFiles和useDailyFiles两个参数,使得做日志管理和切割变的容易了 ③ 如果要调用monolog的方法需要调用callMonolog函数 好了,看下下面几个需求怎么实现: 将不同的日志信息存放到不同的日志中去 这个需求很
-
JavaScript中的apply和call函数详解
第一次翻译技术文章,见笑了! 翻译原文: Function.apply and Function.call in JavaScript 第一段略. 每个JavaScript函数都会有很多附属的(attached)方法,包括toString().call()以及apply().听起来,你是否会感到奇怪,一个函数可能会有属于它自己的方法,但是记住,JavaScript中的每个函数都是一个对象.看一下 这篇文章 ,复习一下(refresher)JavaScript特性.你可能还想知道JavaScrip
-
C++类中的六大默认成员函数详解
在C++中,当你去创建一个类的时候,即便这个类是空类,也会自动生成下面6个默认成员函数,在本篇博客中,我将逐一分析下面6个默认成员函数. 构造函数 构造函数并不是去构造函数的函数,而是去对函数进行初始化的函数.构造函数的函数名与类名相同,当我们每次创建类对象的时候,就会自动调用构造函数.构造函数在对象的生命周期中只会调用1次. class Date { public: //构造函数 Date(int year = 2021, int month = 4, int day = 11) { _yea
随机推荐
- AngularJs 指令详解及示例代码
- Extjs 几个方法的讨论
- Longhorn Server Core 五件重要事件
- 误删除$ORACLE_HOME/dbs下的参数文件、密码文件快速重建的方法
- 深入理解python中的select模块
- 浅谈Javascript线程及定时机制
- 利用Python命令行传递实例化对象的方法
- 详解Python中的正则表达式的用法
- Android控件系列之Toast使用介绍
- javascript修改IMG标签的src问题
- 突破QQ限制每次只能传一个文件的的方法
- 只要安装pplive就出现蓝屏解决方法
- JDBC简介_动力节点Java学院整理
- C#异常处理中try和catch语句及finally语句的用法示例
- Java Calendar类的详解及使用实例
- 深入理解PHP中的Session和Cookie
- iframe与主框架跨域相互访问实现方法
- php中的时间处理
- C#实现简单过滤非法字符实例
- 解决python打不开文件(文件不存在)的问题