PHP の独自の構文は、C、Java、Perl、および PHP 独自の革新的な構文を組み合わせたものです。 CGI や Perl よりも高速に動的 Web ページを実行できます。 PHPで作成された動的ページは、HTML文書の中にプログラムを埋め込んで実行するため、HTMLタグを完全に生成するCGIに比べて実行効率が非常に高くなります。ここでは、PHP アプリケーションの高度なヒントを 10 個紹介します。
1. ip2long() 関数とlong2ip() 関数を使用して、IP アドレスを整数に変換し、データベースに格納します。
この方法では、記憶領域がほぼ 4 分の 1 (char(15) の場合は 15 バイト、整数の場合は 4 バイト) に削減され、特定のアドレスがセクション内にあるかどうかの計算がより簡単になり、検索と並べ替えが高速化されます (ただし、場合によっては少し速い場合もあります)。
2. checkdnsrr() 関数を使用して、メールアドレスを検証するときにドメイン名が存在するかどうかを確認します。
この組み込み関数は、指定されたドメイン名が IP アドレスに解決できることを確認できます。この関数に関する PHP ドキュメントのユーザー コメント セクションには、電子メール アドレスの有効性を検証する checkdnsrr() に基づく単純なユーザー定義関数が含まれています。この関数の具体的な使用方法については、PHP ヘルプ ドキュメントを参照してください。
3. PHP 5 および MySQL 4.1 以降を使用している場合は、mysql_* 一連の関数を放棄し、改良された mysqli_* 一連の関数を使用することを検討してください。
優れた機能は、準備されたステートメントを使用できることです。これにより、データベースを多用するサイトを管理している場合、クエリを高速化できます。これはいくつかの評価スコアに基づいた結論です。
4. 三項演算子を愛することを学びましょう。
5. プロジェクトに再利用可能な部分があると思われる場合は、コード行を記述する前に、それがすでに PEAR に存在するかどうかを確認してください。
多くのプログラマーは知りませんが、多くの PHP プログラマーは PEAR が優れたリソース ライブラリであることを知っています。このオンライン リソース ライブラリには、プログラムですぐに使用できる 400 を超える再利用可能なプログラム スニペットが含まれています。プロジェクトが本当に特殊でない限り、時間を節約するために PEAR パッケージをいつでも見つけることができます。 (PECLを参照)
6. 美しく整形されたソースコードを自動的に出力するには、highlight_file() を使用します。
掲示板や IRC などでスクリプトに関するヘルプを求める場合、この機能は非常に使いやすいです。もちろん、データベース接続情報やパスワードなどを誤って公開しないように注意してください。
7. error_reporting(0) 関数を使用して、機密性の高いエラー情報がユーザーに表示されないようにします。
理想的には、公開サーバーは php.ini で完全に無効にする必要があります。ただし、共有 Web サーバーを使用していて、独自の php.ini ファイルがない場合、この場合の最良のオプションは、error_reporting(0); (または require_once() メソッドを使用する) を追加することです。これにより、エラーが発生した場合に機密性の高い SQL クエリとパス名が完全にブロックされます。
8. 大きな文字列をデータベースに保存する前に、gzcompress() と gzuncompress() を使用して文字列を明示的に圧縮/解凍します。
この PHP 組み込み関数は gzip アルゴリズムを使用しており、通常のテキストを最大 90% 圧縮できます。 BLOB 型フィールドの読み取りまたは書き込みを行うたびに、これらの関数を使用します。唯一の例外は、全文検索が必要な場合です。
9.「参照」でパラメータを渡すことで関数から複数の戻り値を取得します。
三項演算子と同様に、正式なプログラミングのトレーニングを受けたほとんどのプログラマーはこのトリックを知っています。しかし、Pascal よりも HTML の知識が豊富なプログラマーは、多かれ少なかれ、「return が 1 回しか使用できない場合に、関数から複数の値を返すにはどうすればよいですか?」という質問をしたことがあります。その答えは、変数の前に を追加することです。 「&」記号。「値」ではなく「参照」によって渡されます。
10. 「マジッククオート」とSQLインジェクションの危険性を十分に理解する。
これを読んでいる開発者はすでに SQL インジェクションに精通していることを願っています。しかし、確かに理解するのが少し難しいため、ここにこれをリストします。まだ聞いたことがない場合は、残りの時間を Google で調べたり、読んだり、PHP Programmer's Notes サイトにアクセスしたりしてください。