请纠正这 5 个 PHP 编码小陋习

2020-09-17
阅读 2 分钟
2.5k
转载自 PHP 论坛:[链接]在做过大量的代码审查后,我经常看到一些重复的错误,以下是纠正这些错误的方法。在循环之前测试数组是否为空 {代码...} foreach 以及数组函数 (array_*) 可以处理空数组。不需要先进行测试可减少一层缩进 {代码...} 将代码内容封装到一个 if 语句汇总 {代码...} 这不是 PHP 特有的情况,不过我...

分享 8 个 Laravel 模型时间戳使用技巧

2020-02-25
阅读 3 分钟
4.6k
默认情况下,Laravel Eloquent 模型默认数据表有 created_at 和 updated_at 两个字段。当然,我们可以做很多自定义配置,实现很多有趣的功能。下面举例说明。

S.O.L.I.D: PHP 面向对象设计的五个基准原则

2019-05-28
阅读 7 分钟
2.7k
S.O.L.I.D 是 首个 5 个面向对象设计(OOD) 准则的首字母缩写 ,这些准则是由 Robert C. Martin 提出的, 他更为人所熟知的名字是 Uncle Bob。

Carbon —— PHP 中日期 / 时间处理,你只需要这个扩展包就够了

2019-04-12
阅读 6 分钟
3.6k
文章转自:[链接] 在 PHP 中使用日期和时间并不是容易或清晰的任务。我们必须处理 strtotime ,格式化问题,大量计算等等。 这个漂亮的包叫做 Carbon 可以帮助在 PHP 开发中处理日期/时间变得更加简单、更语义化,从而使得我们的代码更容易阅读和维护。 Carbon Carbon 是由 Brian Nesbit 开发的一个包,它扩展了 PHP 自...

[PHP 安全] OWASP 维护的 PHP 安全配置速查表

2019-04-10
阅读 3 分钟
3.2k
文章转自:[链接] 介绍 这个页面的目的是为了帮助那些配置 PHP 和运行它的 web 服务器的人确保它的安全性。 下面你将找到有关 php.ini 文件的正确配置信息。 php.ini 下面的一些设置需要适应你的系统,特别是 session.save_path, session.cookie_path (例如: /var/www/mysite),和 session.cookie_domain (例如:Ex...

一篇文章帮你了解 PHP 7.3 更新

2019-04-04
阅读 6 分钟
3.1k
自从 PHP 7.0 发布以来,社区见证了许多新特性的诞生,极大地改进了开发者在项目中应用 PHP 的方式。提高 PHP 应用的性能和安全性,是这些改进的主要目的。

PHP 安全问题入门:10 个常见安全问题 + 实例讲解

2019-04-03
阅读 9 分钟
8.1k
相对于其他几种语言来说, PHP 在 web 建站方面有更大的优势,即使是新手,也能很容易搭建一个网站出来。但这种优势也容易带来一些负面影响,因为很多的 PHP 教程没有涉及到安全方面的知识。

Laravel 中创建 Zip 压缩文件并提供下载

2019-04-02
阅读 2 分钟
3.9k
事实上,这不是关于 Laravel 的,而是和 PHP 的关联更多,我们准备使用从 PHP 5.2 以来就存在的 ZipArchive 类 ,如果要使用,需要确保php.ini 中的 ext-zip 扩展开启。

使用 Zephir 轻松构建 PHP 扩展

2019-03-29
阅读 3 分钟
2.3k
比如,在 PHP 中需要与 SQLite3 交互,我们可以自己写方法与之进行连接,再写 SQL 语句请求数据。然而,这都是些既琐碎又重复度相当高的工作,因此,所有开发者对插件的需求呼之欲出。

100 个最常用的 PHP 函数

2019-03-27
阅读 4 分钟
6.5k
这些函数被命名使用,并从1到100进行排序。 其他的4500个函数现在还没在排名中。 下面频率列表表示在 PHP 代码中使用此函数的频率 : 参考资料来自于 1900 个 PHP 开源项目。 他们使用了 Exakat static analysis engine 静态分析引擎的 1.2.5 版本进行了审核。平均值是在一个项目中调用此函数的次数。有些函数是被封装使...

干货:构建复杂的 Eloquent 搜索过滤

2019-03-26
阅读 14 分钟
3.3k
我们公司需要一种跟踪我们与世界各地客户举办的各种活动和会议的方式。我们目前的唯一方法是让每位员工在 Outlook 日程表上存储会议的详细信息。可拓展性较差!

PHP 项目中单独使用 Laravel Eloquent 查询语句来避免 SQL 注入

2019-03-25
阅读 5 分钟
4.1k
OWASP (Open Web Application Security Project) 是一个记录当前 web 应用所受威胁情况的项目。我一直都在关注他们的网站,从 2010,2013 和 2017 年的报告中我发现了一些相似之处,SQL 或其他类型的注入威胁都是高居榜首。

2019 为什么我们还会继续使用 PHP ?

2019-03-05
阅读 5 分钟
12.4k
我们来开门见山地说。  PHP 是一门奇葩的语言。它既不快,语法又不漂亮。还没有遵守良好的软件开发实践。 但我还是使用它开发了很多软件。 那么问题就很明显了 为什么今天还在使用 PHP ?

Laravel Excel 的五个隐藏功能

2019-03-04
阅读 6 分钟
5.6k
Laravel Excel package 最近发布了 3.0 版本,它所具有的新功能,可以帮助简化高级需求,并且可用性极高。大家一起来探讨一下可能不知道的一些隐藏功能,这些功能使 Laravel Excel 成为 Excel 拓展的最佳首选。

Laravel 测试: PHPUnit 入门教程

2019-03-01
阅读 13 分钟
5.5k
PHPUnit 是最古老和最著名的 PHP 单元测试包之一。它主要用于单元测试,这意味着可以用尽可能小的组件测试代码,但是它也非常灵活,可以用于很多不仅仅是单元测试。

Laravel 5.8 正式发布(文档翻译已启动)

2019-02-27
阅读 2 分钟
4k
Laravel 5.8 现在面向所有人正式发布了。这个版本包括了几个新特性以及最新的错误修复和对框架核心的改进。 一些新特性如下: PHP dotenv Laravel 5.8 集成了 PHP 的 dotenv 3.0 ,下面是 PHP dotenv 3.0 的新特性: 在阅读和更改环境变量部分具有更大的灵活性 对多行变量的一流支持 不再格式化值,你获取到的值就是它们...

PHP 安全:如何防范用户上传 PHP 可执行文件

2019-01-15
阅读 7 分钟
4.1k
每个专业的 PHP 开发者都知道用户上传的文件都是极其危险的。不论是后端和前端的黑客都可以利用它们搞事情。 大约在一个月前,我在 reddit 上看了一篇 PHP 上传漏洞检测 ,因此, 我决定写一篇文章。用户 darpernter 问了一个棘手的问题: 尽管我将其重命名为 'helloworld.txt', 攻击者是否仍然能够运行他的php 脚本? 置...

Laravel 5.7 最佳实践和开发技巧分享

2019-01-14
阅读 8 分钟
3.8k
Laravel 因可编写出干净,可用可调试的代码而为广大的 PHP 开发者所熟知。它同样也支持许许多多的功能,有时却未能在文档中体现,或者由于某种原因它们出现过又被移除了。

使用 Kubernetes 来部署你的 Laravel 程序

2019-01-10
阅读 7 分钟
6.9k
Laravel 是开发 PHP 应用程序的优秀框架。 无论您是需要构建新想法的原型,开发 MVP(最小可行产品)还是发布成熟的企业系统,Laravel 都可以促进所有开发任务和工作流程。

跟控制器说再见吧,从今天开始使用请求处理器(Request Handlers) 范式

2019-01-07
阅读 2 分钟
4.9k
在过去几年中, PHP 开发环境发生了很大的变化。我们开始使用更多更好的设计模式,比如 DRY 和 SOLID) 设计模式原则。但为什么我们仍然在使用控制器?

一文看懂 PHP 7.3 更新

2018-12-28
阅读 6 分钟
9.6k
自从 PHP 7.0 发布以来,社区见证了许多新特性的诞生,极大地改进了开发者在项目中应用 PHP 的方式。提高 PHP 应用的性能和安全性,是这些改进的主要目的。

PHP工具箱:PHPStan —— PHP 静态代码分析工具

2018-11-14
阅读 3 分钟
7.6k
每当我看到开发人员从 Java 或 C# 等编译语言切换到 PHP 这样的解释语言时解放了生产力后感到很高兴。除了这些常规的执行模型(发起、处理请求和结束请求)和更短的反馈环(无需等待编译器)外,还有一个能解决开发人员日常问题的开源框架生态系统,因此,PHP 是目前来说 web 开发中最流行的语言。

PHP-FPM 调优:使用 ‘pm static’ 来最大化你的服务器负载能力

2018-09-18
阅读 3 分钟
8k
让我们来迅速了解一下怎样设置 PHP-FPM,以便达到高吞吐,低延迟以及稳定的使用 CPU 和内存的完美状态。在默认的情况下,大多数设置都将 PHP-FPM PM(进程管理器)设置为 dynamic ,或者当你有可用内存的问题时常建议你使用 ondemand。接下来,让我们根据 php.net 的官方文档来比较一下这两个管理选项和我最常用的设置 —...

[开源项目] Laravel Shop 电商新增高级功能

2018-09-11
阅读 1 分钟
7.5k
功能 功能清单: 高性能无限级分类; 众筹商品管理; 众筹商品下单逻辑; 众筹商品结束逻辑; 使用分期付款支付订单; 计算分期付款逾期费; 分期付款订单的退款; 给商品增加属性; 使用 Elasticsearch 重构商品搜索模块; 分面搜索; 相似商品查询; Elasticsearch 的索引迁移; 秒杀商品管理; 秒杀商品下单逻辑; 秒...

Laravel 5.7 正式发布,同时启动中文翻译

2018-09-05
阅读 1 分钟
3.7k
「Laravel 5.7 」版本现在正式发布了,每个人都可以使用。该版本引入了一些新特性并修复了很多 bug,改进超过了 5.6 版本。一些新特性如下: 「新的资源目录结构」 资源目录被整理,移除了『assets』目录,这在以前的版本中出现过。例如, 在以前的版本中资源目录如下: {代码...} 现在,Laravel 5.7 中目录结构调整如下...

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

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

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

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

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

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

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

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

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

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