🆑 PHP代码整洁之道
介绍本文参考自RobertC.Martin的CleanCode书中的软件工程师的原则,适用于PHP。这不是风格指南。这是一个关于开发可读、可复用并且可重构的PHP软件指南。并不是这里所有的原则都得遵循,甚至很少的能被普遍接受。本文受到clean-code-javascript的启发虽然很多开发者还在
标签 php 的文章
关于 《php》 的文章
介绍本文参考自RobertC.Martin的CleanCode书中的软件工程师的原则,适用于PHP。这不是风格指南。这是一个关于开发可读、可复用并且可重构的PHP软件指南。并不是这里所有的原则都得遵循,甚至很少的能被普遍接受。本文受到clean-code-javascript的启发虽然很多开发者还在
匿名函数(Anonymousfunctions),也叫闭包函数(closures),允许临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。匿名函数目前是通过Closure类来实现的。一、栗子1用作于回调$rs=preg_replace_call
什么是SOLID原则软件设计有很多原则,比如软件设计上的SOLIDprinciple,单元测试中的FIRST和AAA,代码实现上的DRYprinciple等。熟悉这些原则,可以把我们的经验上升到理论高度,有利于程序员的成长,也便于团队带头人和组员控制软件质量。其中面向对象设计的SOLID原则是创建易
PHP中trait是如何使用的?在PHP中,trait是一种代码复用机制,用于在类之间共享方法集合。trait可以被多个类使用,并且一个类可以使用多个trait。使用trait的语法是通过关键字use将trait引入到类中。insteadof关键字用于在使用trait时指定使用哪个trait中的方法


0x01前言最近很多家厂商都陆续开放了自己的Webshell检测引擎,并且公开接口,邀请众安全研究员参加尝试bypass检测引擎,并且给予奖励,我也参加了几场类似的活动,有ASRC的伏魔计划,也有TSRC的猎刃计划,还有最近正在进行的长亭的牧云(Aka.关山)Webshell检测引擎,如果你都参加或


开源一个视频API抓包360Kan的接口后封装的一个PHP小型项目参考来源ThinkPHP6.0Guzzle项目地址Git:https://github.com/axbug/VideoAPICoding:https://yxbug-cn.coding.net/public/webshiyanshi/


思考:减少DB查询次数,合理使用成员变量高内聚,低耦合是非常深入人心的设计思想,在做到高内聚低耦合的同时,我们也要考虑到值传递的问题:要避免在抽取函数,封装代码时不合理的值传递,避免在多个函数内部重复查询相同的DB。举个栗子需求描述我们的项目是交友类APP,有划卡片喜欢、不喜欢、超级喜欢的动作,也有


封装常用的工具类,不写重复代码,能极大的提高开发效率。工具类函数Geom转成字符串如果项目中有大量的计算经纬度需求,强烈建议使用PgSql的geometry类型publicstaticfunctionformatGeomToStr($geomJson){if(empty($geomJson)){re


laravel-exception-notify-支持多种通道的laravel异常通知(Bark、Chanify、钉钉群机器人、飞书群机器人、邮件、Server酱、企业微信群机器人、息知)。功能(2.x重构版本)监控发送laravel应用异常支持多种通道(Bark、Chanify、钉钉群机器人、飞书


思考:如何提高Model层查询DB的效率?如何精简代码?经过一番调研之后发现了一个堪称神器的扩展:laravel-upsert这个Laravel扩展为查询构建器和Eloquent添加了对INSERT&UPDATE(UPSERT)和INSERTIGNORE的支持先简单说明一下业务场景:首先表结


随着现在应用的规模越来越庞大,对象之间的依赖关系也越来越复杂,耦合程度越来越高,经常会出现对象之间多重依赖的情况。对于如此庞大复杂的应用,任何修改都可能会牵一发而动全身,这就为应用的后期维护造成了很多困扰。为了解决对象之间耦合度高的问题,控制反转(IoC)的思想也随之诞生。所谓控制反转,是面向对象编


PHP除了做服务端开发已经,也是可以像Python一样来爬取数据的。我认为爬取数据有两种实现思路:1种是请求数据接口,解析json数据另外1种是获得网页的dom树,解析dom树,获得数据。今天重点介绍第二种,引用php的一个插件:simple_html_dom,解析json的思路也提一下。解析jso