codecamp

Laravel 项目开发规范 辅助函数

存放位置

Laravel 提供了很多 辅助函数,有时候我们也需要创建自己的辅助函数。

必须 把所有的『自定义辅助函数』存放于 app 文件夹中。

并在 composer.json 文件中加载,方法请见: Laravel 的自定义函数 helpers.php 文件存放位置

绝不放业务代码

helpers.php 中 绝不 放业务代码。

任意一个 Laravel 应用,所有代码揉到一个巨大的 index.php 文件中,对于 PHP 来讲,都是可运行的。

既然如此,为何要费那个劲搞 config、controller、model、view、route、artisan command ….

代码的合理分层,最主要目的是提高代码的可维护性,说简单点就是改个东西闭着眼睛都知道在哪里改。

helpers.php 的问题就是,一个不注意,这个文件会变得无比巨大。你会发现,啥东西都可以往里面丢。

所有代码结构设计(分层、抽象),追究其最根本的目的,是为了提高代码的可维护性,以及做到代码可测试。

什么可以放?

可以考虑放一下辅助性质的函数:

参考 Laravel github.com/illuminate/support/blob...

如果你不确定?那就封装成一个工具类,放到 Service 层吧。


Laravel 项目开发规范 中间件
Laravel 项目开发规范 API 设计规范
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }