构建知识体系之一--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、followthesesteps:1)useopcodecachinglikeopcacheTostoredscriptbytecode.2)最小化abasequeriesecachingingindexing.3)leveragephp7機能forbettercodeefficiency.4)

依存性注入(DI)は、明示的に推移的な依存関係によりPHPコードのテスト可能性を大幅に改善します。 1)DI分離クラスと特定の実装により、テストとメンテナンスが柔軟になります。 2)3つのタイプのうち、コンストラクターは、状態を一貫性に保つために明示的な式依存性を注入します。 3)DIコンテナを使用して複雑な依存関係を管理し、コードの品質と開発効率を向上させます。

DatabaseQueryoptimizationInpholvesseveralstrategESTOEnhancePerformance.1)selectonlynlynlyndorycolumnStoredatedataTransfer.2)useindexingtospeedupdataretrieval.3)revenmecrycachingtostoreres sultsoffrequent queries.4)

phpisusededemingemailsduetoitsbuilt-inmail()functionandsupportiveLibrarieslikephpmailerandswiftmailer.1)usethemail()functionforbasicemails、butithaslimitations.2)emploadforadvancedfeatureSlikelikelivableabableabuses.3)雇用

PHPパフォーマンスボトルネックは、次の手順で解決できます。1)パフォーマンス分析にXdebugまたはBlackfireを使用して問題を見つける。 2)データベースクエリを最適化し、APCUなどのキャッシュを使用します。 3)array_filterなどの効率的な関数を使用して、配列操作を最適化します。 4)bytecodeキャッシュ用のopcacheを構成します。 5)HTTP要求の削減や写真の最適化など、フロントエンドを最適化します。 6)パフォーマンスを継続的に監視および最適化します。これらの方法により、PHPアプリケーションのパフォーマンスを大幅に改善できます。

依存関係(di)inphpisadesignpatternativats anducesclassodulencies、拡張測定性、テスト可能性、および維持可能性。

cachingemprovesppperformancebystring of computationsorquickretrieval、還元装置の削減は、reducingerloadendenhancersponseTimes.efcectivestrategiesInclude:1)opcodecaching、compiledphpscriptsinmemorytoskipcompilation;


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

WebStorm Mac版
便利なJavaScript開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール
