最近,在使用Laravel写东西,因为框架本身的设计理念的不同,刚从ThinPHP3切换到Laravel5,感觉还是很怪的,各种不习惯,但是一旦写过一些代码,发现Laravel真的非常好用。我一直觉得TP中的公共函数是一个很好的设计,因为我们只需要在functions.php中对共用的函数进行封装,然后就可以在全局直接进行调用了。其实Laravel中也有类似的功能的,比如说助手函数,类似于session()等函数,这些助手函数也是全局可以调用的,非常的方便。

在这里总结一下,两者之间的差别以及相同点。

TP3系列中functions.php文件默认其实是空文件,很好找。我们可以直接封装代码。

Laravel5系列中的path/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php。该文件中封装的函数就是全局函数,可以在任意区域进行调用。

但是,Laravel中的helper.php中已经封装好了很多的内置助手函数,一般不建议直接在该文件中进行自己函数的封装,而是采用新创建一个文件,里面放置需要封装的函数。

这里有一点需要说明:全局函数的实现是依靠在初始化的时候,将helps.php或者functions.php直接进行了加载。而Laravel中path/bootstrap/autoload.php中可以定义在初始化的时候加载什么文件。在默认的情况下,有以下一条加载配置:

require __DIR__.'/../vendor/autoload.php';复制代码

同样,我们也可以加载其他的文件,比如以下的加载操作:

require __DIR__.'/../app/Common/functions.php';复制代码

这样,我们就可以直接在这个加载的文件中直接封装需要的函数,这样也就实现了我们的需要。

另外,有人还推荐了另外一种方法,就是使用一个控制器,在控制器中的类中封装静态的方法,在需要的地方,引入所需的控制器,也可以实现我们的需求。

laravel 中创建全局函数 (类似于 TP 中 functions.php) 的方式相关推荐

  1. android java函数_java – 在android中创建全局函数

    像这样创建类并在此处添加您的函数: package com.mytest; import android.content.Context; import android.net.Connectivit ...

  2. hive 元数据 自定义_如何在Hive中创建自定义函数UDF及如何直接通过Impala的同步元数据重用UDF的jar文件-阿里云开发者社区...

    如何在Hive中创建自定义函数UDF及使用 如何在Impala中使用Hive的自定义函数 UDF函数开发 使用Intellij工具开发Hive的UDF函数,进行编译: 1.使用Intellij工具通过 ...

  3. Yii2 中添加全局函数

    方法一 直接在入口文件 web/index.php 里面写函数,示例代码如下: // 全局函数 if (!function_exists('pp')) {//传递数据以易于阅读的样式格式化后输出fun ...

  4. python2中的unicode_python2中的unicode()函数在python3中会报错:

    python2中的unicode()函数在python3中会报错:NameError: name 'unicode' is not defined There is no such name in P ...

  5. php 输出数组第一个元素,怎么在php中利用reset() 函数输出数组中的第一个元素

    怎么在php中利用reset() 函数输出数组中的第一个元素 发布时间:2021-01-16 09:37:11 来源:亿速云 阅读:66 作者:Leah 本篇文章给大家分享的是有关怎么在php中利用r ...

  6. 【Hive】如何在 Hive 中创建外部表映射 Hbase 中已存在的表

    文章目录 一.上传完整的jar文件到hive/lib中 二.修改hive-site.xml 三.修改hive-env.sh 四.在hive和hbase中分别创建相关联的表并通过hive向hbase表中 ...

  7. 计算机算最大值如何操作,Excel表格中如何通过函数判断数据中的最大值

    Excel表格中如何通过函数判断数据中的最大值 腾讯视频/爱奇艺/优酷/外卖 充值4折起 Excel是我们常用的一款数据处理软件,深受大家的欢迎,是我们学习办公的助手,有的朋友想知道怎么通过函数判断数 ...

  8. opencv中的copyTo函数在opencv-Python中的实现

    Opencv中的copyTo()函数在opencv-Python中的实现 copyTo() 函数有两种方式 第一种:src_Image.copyTo(dst_Image),表示将原图复制到目标图中. ...

  9. 创建全局函数mysql_Navicat中Mysql自定义函数报错?

    1. 在MySQL创建用户自定义函数时,报以下错误: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or R ...

最新文章

  1. Python中的*args和**kwargs是什么?该如何使用?
  2. 替换openjdk的版本时遇到报错Transaction check error
  3. python在线工具-6 种 Python 数据可视化工具
  4. 2022我会成为高手吗
  5. windows环境给redis配置密码
  6. NumPy 矩阵库(Matrix)
  7. javascript 函数式编程(1)
  8. ABB机器人VGT文件_ABB机器人与焊机之间通讯方式
  9. 2.2 获取图像感兴趣区域_基于Hu距的图像旋转矫正之OpenCV实现
  10. 基于win32的windows画板程序
  11. linux eclipse 调试程序,使用Eclipse对FFmpeg进行调试
  12. NHL明星与美国冰球协会联手发起NFT拍卖
  13. IAR教程之IAR下载和调试
  14. CAD专用卸载修复工具,一键完全彻底卸载删除CAD软件的专用卸载工具
  15. 泰勒(Taylor)展开式
  16. 【JZOJ 5776】【NOIP2008模拟】小x游世界树 (树)
  17. word毕设论文制作——封面(一)
  18. 无需安装Microsoft Office和Adobe实现办公文档操作,Spire.Office免费资源清单一览
  19. 对哼唱的语音或者播放的音乐进行乐谱的识别,并将哼唱转换为其他乐器的声音回放...
  20. 第三十八章 短语动词

热门文章

  1. MFC版本链表演示程序
  2. Java多线程编程实战指南+设计模式篇pdf
  3. Flex布局(一)flex-direction
  4. ubuntu命令安装jdk
  5. nginx和apache 配置
  6. 【C#】详解C#委托
  7. apache2.4配置虚拟主机
  8. Linux下程序包管理工具RPM
  9. Maven本地库在哪?
  10. Orace 11g 监听 配置修改 说明