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 サイトにアクセスしたりしてください。