构建知识体系之一--PHP代码规范
首秀啊!-----PHP代码规范
之前的博客“构建知识体系“中,提到了很多细节性的问题,接下来就以上个博客为纲,细细的讨论一下:
每个人,每个公司的规范可能不同,我只说一下自己的规范哈!
提高代码的可读性:
- 给代码加注释,读一份没有注释的代码,就像是唐僧西天取经,不经历九九八十一难,你就是看不懂!
- 给代码加空行,善于利用空行的代码就像是有节奏感的音乐,多一行太多,少一行太少!
- 30秒法则:其他的程序员完全理解你的成员函数代码,不超过30秒,否则,这份代码就比较难以维护
- 一行代码不要超过120个字符,否则换行缩进,一个函数最好在一个屏幕的大小内显示,最长不超过三个屏幕
- 一行代码只做一件事,同理一个函数也只负责一个功能。
- 循环比较大的时候不要使用$i这样的,起个有意义的名字
- while,if,else嵌套不要超过三层,要不30秒怎么读的懂?
- 一个函数最少的注释应该有作用、所有参数、所有返回值,最好注释上作者(追究责任
)
- 所有的缩进均为4个空格而非tab,所有的换行符均为unix换行符,为保证100%正确可以开启IDE的显示空白和不可见字符的功能
提升代码效率和健壮:
- 如未使用DB类的公共处理,则SQL语句查询前,应使用mysql_escape_string对查询串进行转义
- 在第一个引入的文件中定义好包含绝对路径的常量,其他引入的文件路径都常量开始
- 所有的类常量、静态变量、成员变量都应该提前申明,在申明的地方注释说明其用途,并将其值初始化为一个安全值
- 如未使用DB类的公共处理,则SQL语句查询前,应使用mysql_escape_string对查询串进行转义
- 调用外部接口和函数,要放在try/catch块中,也要检查返回值, 做足够健壮的错误处理,记录日志
- PHP文件尾部不闭合避免PHP标签避免输出多余的空行!!!
命名规则:
- 命名要有意义,有注释,其他程序员读的时候,一眼就能看懂,读懂,记住
- 所有不区分大小写的PHP关键字均使用小写,例如:true false null break等等
- 所有的变量、类成员变量、函数名、类成员函数名均采用驼峰式命名规范
- 所有的常量、类常量、静态变量等全部使用大写字母,下划线分割单词
- private和protected属性的类静态变量、类成员变量和类成员函数名在原有命名规范的基础上以下划线开头
- 文件名由字母、数字和下划线组成,首字符必须为字母,如果文件是一个类,则文件名应该为"类class.php",如"DBConfig.class.php",否则文件名全部为小写,多个单词下划线分隔,如"post_list.php"
- 类名称采用帕斯卡命名规则,即所有单词首字母大写,括号跟在类名后边间隔一个空格
- 类常量全部大写,用下划线分隔单词
争论性
- 所有的"{"左大括号都以空格紧跟前文,不能独立成为一行
- 对于关联数组,我们鼓励将代码分成多行,缩进每一行的KEY以对齐,"=>"左右
有很多没有写的,希望多多建议啊,让我们代码越来越规范
---本规范参照福州车友网络科技有限公司代码规范

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)

phpisusedforsenderemailsduetoitsbuilt-inmail()函数andsupportiveLibrariesLikePhpMailerandSwiftMailer.1)usethemail()functionforbasicemails,butithasimails.2)butithasimimitations.2)

PHP性能瓶颈可以通过以下步骤解决:1)使用Xdebug或Blackfire进行性能分析,找出问题所在;2)优化数据库查询并使用缓存,如APCu;3)使用array_filter等高效函数优化数组操作;4)配置OPcache进行字节码缓存;5)优化前端,如减少HTTP请求和优化图片;6)持续监控和优化性能。通过这些方法,可以显着提升PHP应用的性能。

依赖性注射(DI)InphpisadesignPatternthatManages和ReducesClassDeptions,增强量产生性,可验证性和Maintainability.itallowspasspassingDepentenciesLikEdenceSeconnectionSeconnectionStoclasseconnectionStoclasseSasasasasareTers,interitationApertatingAeseritatingEaseTestingEasingEaseTeStingEasingAndScalability。

cachingimprovesphpermenceByStorcyResultSofComputationsorqucrouctationsorquctationsorquickretrieval,reducingServerLoadAndenHancingResponsetimes.feftectivestrategiesinclude:1)opcodecaching,whereStoresCompiledSinmememorytssinmemorytoskipcompliation; 2)datacaching datacachingsingMemccachingmcachingmcachings


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Dreamweaver CS6
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中