记一次对 Laravel-permission 项目的性能优化

2018-06-13
阅读 3 分钟
5k
我最近研究分析了在 SWIS上面创建的项目的性能。令人惊讶的是,最耗费性能的方法之一是优秀的  spatie/laravel-permission 包造成的。 经过查阅更多资料和研究,发现一个可能明显改善的性能问题 。既然解决方案已明确阐述,就很容易编写代码改善,提交请求。 现在这个解决方案已被合并和发布,下面是这个性能问题的分析...

一步步教你编写不可维护的 PHP 代码

2018-06-08
阅读 4 分钟
16.9k
译者注:这是一篇很棒文章,使用有趣的叙述方式,从反面讲解了作为一个优秀的 PHP 工程师,有哪些事情是你不能做的。请注意哦,此篇文章罗列的行为,都是你要尽量避免的。

Laravel 程序架构设计思路:使用动作类

2018-06-07
阅读 3 分钟
9.8k
当我们谈论到应用程序的架构的时候,经常会问到一个经典的问题,那就是“这段代码应该放在哪里比较好”。 因为 Laravel 是一个相当灵活的框架,所以要回答这个问题其实没那么容易。我应该把我的业务逻辑写在 Model 层,还是 Controller 层,或者是其他地方?

Laravel 的十八个最佳实践

2018-06-04
阅读 10 分钟
10.9k
本文翻译改编自 Laravel 的十八个最佳实践 这篇文章并不是什么由 Laravel 改编的 SOLID 原则、模式等。 只是为了让你注意你在现实生活的 Laravel 项目中最常忽略的内容。 单一责任原则 一个类和一个方法应该只有一个职责。错误的做法: {代码...} 推荐的做法: {代码...} 强大的模型 & 简单控制器 如果你使用查询构...

[扩展推荐] Laravel 中利用 GeoIP 获取用户地理位置信息

2018-05-31
阅读 2 分钟
4.5k
我最近需要一个用户地域检测来设置用户的默认区域和货币。由 Daniel Stainback 创建的 torann/geoip  很好地满足为Laravel 5 项目提供 GeoIP 服务的要求。

10 个优质的 Laravel 扩展推荐

2018-05-30
阅读 2 分钟
3.6k
为何会创建这个包的列表?因为我是一个「比较懒」的开发者,在脸书上是多个 Laravel 小组的成员。平日遇到最多的问题就是开发是需要用那些包。我很懒所以我不想每次都从头开始搞这些东东。

5 个非常有用的 Laravel Blade 指令,你用过哪些?

2018-05-29
阅读 2 分钟
3.7k
接下来我将带大家认识下五个 Laravel Blade 指令,这些指令将让你在解决特定问题时如虎添翼。如果你是刚接触 Laravel 的用户,这些小技巧能带你认识到 Laravel Blade 模板引擎的便捷与高效。

PHP 7.3 我们将迎来灵活的 heredoc 和 nowdoc 句法结构

2018-05-21
阅读 2 分钟
2.1k
Heredoc 和 Nowdoc 有非常严格的语法,有些时候这令很多开发者避而远之,因为他们在代码中看起来非常丑陋,令代码的可读性降低。本次的更新针对此问题,对语法做出了以下两个更改: 支持闭合标记符的缩进; 不再强制闭合标记符的换行;

使用 Swoole 来加速你的 Laravel 应用

2018-05-17
阅读 3 分钟
7k
Swoole 是为 PHP 开发的生产级异步编程框架。 他是一个纯 C 开发的扩展, 他允许 PHP 开发者在 PHP 中写 高性能,可扩展的并发 TCP, UDP, Unix socket, HTTP, WebSocket 服务, 而不需要拥有太多的非阻塞 I/O 编程和低级别的 Linux 内核知识。 你可以把 Swoole 想象成 NodeJS, 但对于 PHP 来说将有更高性能。

一个成功的 Git 分支模型(适用于商业应用开发)

2018-04-25
阅读 6 分钟
4.7k
在这篇文章中,我将推广一下大约一年前我介绍过的一些项目(公私皆有)中使用的开发模型,它们的结果都非常成功。有段时间我非常想写出来分享一下,但是我至今才抽出时间来。我不会言及任何项目细节,仅讨论分支策略和发布管理。

PHP 扩展开发检测清单(扩展开发必读)

2018-04-23
阅读 2 分钟
2.5k
想要做出一个成功的 PHP 扩展包,不仅仅是简单的将代码放进文件夹中就可以了,除此之外,还有非常多的因素来决定你的扩展是否优秀。以下清单的内容将有助于完善你的扩展,并且在 PHP 社区中得到更多的重视。

20 个 Laravel Eloquent 必备的实用技巧

2018-04-18
阅读 7 分钟
8.4k
Eloquent ORM 看起来是一个简单的机制,但是在底层,有很多半隐藏的函数和鲜为人知的方式来实现更多功能。在这篇文章中,我将演示几个小技巧。

[项目推荐] Corcel 让你在 WordPress 中使用 Laravel

2018-04-17
阅读 2 分钟
2.6k
WordPress 是基于 PHP 编写的功能强大的 CMS,你可以使用它非常快的创建你的产品。然而,它并没有遵循最近 PHP 的变化和约定,但是你可以将它与其他类似 Laravel 这样的框架一起使用来平衡这一点。

PHP 7.2 新功能介绍

2018-04-13
阅读 5 分钟
2.7k
PHP 7.2 已經在 2017 年 11 月 30 日 正式發布 。這次發布包含新特性、功能,及優化,以讓我們寫出更好的代碼。在這篇文章裡,我將會介紹一些 PHP 7.2 最有趣的語言特性。

Tumblr:我们是如何从 PHP 5 升级到 PHP 7 的

2018-04-12
阅读 2 分钟
4.5k
最近,通过一次跨团队的努力,我们将全部 web 服务器战舰从 PHP 5 升级到了 PHP 7。整个升级是一次有趣的项目,有一些非常酷的结果,所以我们想分享给你。

其实你并不懂如何定义一个 PHP 函数

2018-04-11
阅读 3 分钟
2.6k
写出好的代码是一个学无止境的过程。让我们来改进我们编写 PHP 函数的方式。 看下上面的代码,想想第二个函数调用那里会发生什么情况? 它会接受你输入的任何参数,并且尝试执行然后抛出一个数学错误。 但是我们怎么才能让一个函数严格接收能使其正确执行的参数呢? 现代的 PHP 解决了这个问题,并且有更多妙法能让你的...

PHP / Laravel 月刊 #23

2018-04-11
阅读 2 分钟
3.9k
最新资讯 Laravel 5.6 中文文档翻译完成,译者 60 人,耗时 10 天 Summer Dingo API 中文文档翻译召集【已完成】 Summer 我最喜欢 Laravel 5.6 的三个功能 Summer [[已完成] 翻译《PHP 设计模式》]([链接] Summer 酷工作 [[北京] [12k-40k] 无二之旅 招聘中高级 PHP 工程师、PHP 架构师、高级前端工程师 ]([链接]likai [...

十个你需要在 PHP 7 中避免的坑

2018-04-10
阅读 3 分钟
3.5k
终于,你不用再看到建议不要使用 mysql_ 函数的提示了。因为 PHP 7 从核心上完全移除了它们,这意味着请你移步至更好的 mysqli_ 类函数,或者更灵活的 PDO 层。

[扩展推荐] —— Laravel Log 增强

2018-04-09
阅读 2 分钟
4.1k
Laravel Log Enhancer 是 Laravel 5.6  的一个扩展包,可以在 Laravel 日志中添加额外的数据。 得益于 Laravel 5.6 中日志的更新,这个包利用这些特性扩展日志记录并添加数据,例如请求头、内存使用情况、会话信息和其它数据 。

教你在不使用框架的情况下也能写出现代化 PHP 代码

2018-04-04
阅读 11 分钟
7.1k
首先声明, 这篇并非又臭又长的反框架裹脚布文章。也不是推销 非原创 思想 。毕竟, 我们还将在接下来的开发之旅中使用其他框架开发者编写的辅助包。我对这个领域的创新也是持无可非议的态度。

使用 PHP 来做 Vue.js 的 SSR 服务端渲染

2018-04-03
阅读 8 分钟
9.8k
一个单页应用(通常也叫做 SPA )是一个客户端渲染的 App 。这是一个仅在浏览器端运行的应用。如果你正在使用框架,比如 React, Vue.js 或者 AngularJS ,客户端将从头开始渲染你的 App 。

十个 PHP 开发者最容易犯的错误

2018-04-02
阅读 13 分钟
16.6k
PHP 语言让 WEB 端程序设计变得简单,这也是它能流行起来的原因。但也是因为它的简单,PHP 也慢慢发展成一个相对复杂的语言,层出不穷的框架,各种语言特性和版本差异都时常让搞的我们头大,不得不浪费大量时间去调试。这篇文章列出了十个最容易出错的地方,值得我们去注意。

PHP 引用是个坑,请慎用

2018-03-30
阅读 4 分钟
5k
去年我参加了很多次会议,其中八次会议里我进行了相关发言,这其中我多次谈到了 PHP 的引用问题,因为很多人对它的理解有所偏差。在深入讨论这个问题之前,我们先回顾一下引用的基本概念,明确什么是“引用传递”。

Laravel 中缓存驱动的速度比较

2018-03-29
阅读 4 分钟
5.6k
缓存是web开发中重要的一部分,我相信很多人和我一样,经常忽略这个问题。 随着工作经验的累积,我已经意识到缓存是多么的重要,这里我通过 Scotch 来解释一下它的重要性。

Laravel 模型事件入门

2018-03-28
阅读 5 分钟
2.9k
Laravel 模型事件允许你监听模型生命周期内的多个关键点,甚至可以在阻止一个模型的保存或者删除。 Laravel 模型事件文档 概述了如何使用钩子将对应事件与相关的事件类型关联起来,但是本文的主旨是事件与监听器的构建与设置,并额外补充一些细节的说明。

《PHP 设计模式》翻译完毕

2018-03-26
阅读 2 分钟
4.8k
设计模式不仅代表着更快开发健壮软件的有用方法,而且还提供了以友好的术语封装大型理念的方法。例如,您可以说您正在编写一个提供松散耦合的消息传递系统,也可以说你正在编写名称为观察者 的模式。

Let’ s Encrypt 现支持通配符的 HTTPS 认证

2018-03-23
阅读 1 分钟
2.7k
Let's Encrypt 发布公告称,本周新的 ACME2(Automated Certificate Management Environment 自动证书环境管理) 协议将支持通配符证书!去年我们 写了免费的通配符公告,现在非常高兴看到这个功能发布。

刚接触一个 Laravel 项目,你可以从这些地方入手

2018-03-22
阅读 4 分钟
5.2k
当你接手一个新项目的时候,可能会感到无从下手,如果不熟悉编程,则更是如此。那么,我们该从哪儿入手呢?项目代码的哪些部分我们需要着重了解?下面我们看看 Laravel 项目的几个通用的部分。

我最喜欢 Laravel 5.6 的三个功能

2018-03-21
阅读 3 分钟
3.8k
昨天,就在 Laracon 线上会议开始之前, Taylor Otwell 发布了 Laravel 5.6 。在维也纳,我们参与了一个小型会议,一起愉悦地观看了所有演讲。在其中一个演讲过程中, Taylor 带我们浏览了 Laravel 的新功能,我将列出其中我最喜欢的三个。

这几个编码小技巧将令你 PHP 代码更加简洁

2018-03-20
阅读 2 分钟
2.5k
当然这看起来没什么区别,只是节省了一行代码而已。但是你可以设想一下,当你使用复杂的循环结构或者嵌套数组处理大量数据时。这样做将会有意义,它能使代码保持简洁。