PHP開発に関する9つの経験の要約
1. 第一の意識: 安全性
ほとんどの場合、私たちが開発する Web プログラムはデータベースを扱う必要があるため、SQL インジェクションは避けては通れない、議論が必要な問題であると言えます。そして近年、XSS や CSRF などの攻撃が流行し、「ハッカー」に新しい武器を与えたかのように見える一方で、私たちは常に受動的な状態にあります。ただし、次の 2 つの原則を覚えておく必要があります:
1. ユーザーが入力した内容を決して信用しないでください。 (古いことわざですが、本当です)
2. 出力する必要があるデータをエスケープします。
簡単に言うと、入力をフィルターし、出力をエスケープします
初心者の場合は、次のようなクエリ ステートメントを使用しないでください:
ユーザー名 WHERE ユーザー名 = $_POST['ユーザー名'] AND パスワード = $_POST['パスワード'];
から選択します。また、昔ながらの mysql 操作を使用する代わりに、PDO または Mysqli を使用します。
CSRFソリューションに関しては、現在私たちが取り組んでいるのは、フォーム送信ごとにトークン値を設定し、フォーム送信時に検証するというものです。
2. 各比較演算子の違いを明確に理解する
PHP の比較演算子、これは実際には小さな注意点とも言えますが、場合によっては非常に重要です。たとえば、== を使用するか === を使用するかを明確に考える必要があることがよくあります。strpos() 関数を使用したことがある場合は、次のコードで直感的に理解できるかもしれません。


3. elseの使用を減らすことができる場合は、elseの使用を減らしてください
これは、私がプログラミングに初めて触れたときから抱いていたアイデアのようです。if(){}else{} を見るたびに、この段落は実際にはもっとうまく書けるのではないかと感じるからです。 else キーワードの使用を減らすと、コードは 2 行減ります! はい、2 行も私たちの追求であり、私の経験からすると、else が少ないコードのほうが読みやすいように思えます。
if(この条件) { $x = 5 } else{ $x = 10;}
$xのデフォルト値が10の場合、次のように書くと良いでしょう:
$x = 10;
if(この条件)
{ $x = 5 }
;4.不要な括弧を削除します
ここでの目的は、実際には else キーワード部分と同じです。次のような状況では、コードを短くして読みやすくすることを目的としています。
if ($gollum == 'ハーフリング') { $height --;実際には、次のようになります:
if ($gollum == 'halfling') $height --;
こんなこともできます:

多くの場合、いくつかの文字列を置換する必要があります。PHP には、この目的を達成できる関数がいくつかあります。
str_replace()ereg_replace()
preg_replace()
どうしても正規のマッチングを使用する必要がある場合は preg_replace() を使用し、置換が可能であれば str_replace() を使用してください。不完全な統計によると、これら 3 つの中で str_replace() の効率が最も高いためです。
6. 三項演算子を使用します
三項演算子を使用すると、大量の if else ステートメントが削除され、コードが短くてクールになると多くの人が感じているかもしれません。
$host = strlen($host) > 0 ? $host : htmlentities($host);
7. キャッシュを使用する
現在、PHP で最も人気のあるキャッシュ テクノロジは Redis と Memcached です。PHP の公式ドキュメントには、Memcached の使用に関するチュートリアルもあります。Redis については、現在研究中であり、いくつかのチュートリアルを提供する予定です。すべてがうまくいけば、未来。
8.フレームワークを利用する
フレームワークには、パフォーマンスが低下する可能性を除けば、開発を高速化できるだけでなく、快適にコードを書くことができるため、使用しない理由はないようです。多くのセキュリティ問題に対する適切な解決策が得られます。最初にLaravelをお勧めしますが、Yii2 SlimやSymfonyなどのフレームワークは非常に優れており、Symfony以外は試したことがないため、最終的には残りの3つを使用したことがあります。ただし、私が推奨する Laravel があなたに適さない場合もあります。それは個人の好みによって異なります。
9. strlen()の代わりにisset()を使う
プロジェクトコード内の文字列の長さに基づいて条件判断を行う必要がある場合は、同じ条件下では isset() の方が約 5 倍高速であるため、現時点では isset() を直接使用することを強くお勧めします。 strlen() よりも次のようになります:

上記の 2 つの条件判断は同じ目的を達成できますが、最初の条件判断を使用することをお勧めします。
であると言えます。
BestappRoachforseminginphpisusingthephpmailerlibrarydueToitsReliability、featurrichness、andeaseofuse.phpmailerSupportssmtpは、detairederorhandlingを提供します

依存関係注射(DI)を使用する理由は、コードのゆるい結合、テスト可能性、および保守性を促進するためです。 1)コンストラクターを使用して依存関係を注入します。2)サービスロケーターの使用を避け、3)依存関係噴射コンテナを使用して依存関係を管理する、4)依存関係を注入することでテスト可能性を向上させる、5)注入依存性を回避、6)パフォーマンスに対するDIの影響を考慮します。

phpperformancetuningisucial cuseenhancess andandandadsand。

bestpracticesforsendingemails securlyinphpinclude:1)sutureconsmttarttlsencryptionとの使用の使用、2)検証およびサンシジン化のinputStopReventinjectuctacks、3)adinitivedinitivedInemailsopenslsl、4)adlinglinglingemailoaに

tooptimizephpapplicationsforporformance、usecaching、databaseoptimization、opcodecaching、andserverconfiguration.1)cachingwithedatedatedatafethtimes.2)最適化バイズビーインデキシング、readedandandandwriteoperations.3)

依存関係の依存性、テスト可能性、および維持可能性の依存性の依存性の依存性、および維持可能性は、エクステルンド依存性を維持する可能性があります

PHPパフォーマンスの最適化は、次の手順を通じて実現できます。1)スクリプトの上部にrequire_onceまたはinclude_onceを使用して、ファイルの負荷数を減らすことができます。 2)プリプロセシングステートメントとバッチ処理を使用して、データベースクエリの数を減らします。 3)OpCodeキャッシュのOpCacheを構成します。 4)PHP-FPM最適化プロセス管理を有効にして構成します。 5)CDNを使用して静的リソースを配布します。 6)コードパフォーマンス分析には、XdebugまたはBlackfireを使用します。 7)配列などの効率的なデータ構造を選択します。 8)最適化実行のためのモジュラーコードを記述します。

opcodeCachingsificlyprovesppherformanceBycachingCompiledCode、reducingServerloadandResponsetimes.1)itStoresPhpCodeInMemory、バイパス補助補強団体


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

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

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版
中国語版、とても使いやすい
