ホームページ  >  記事  >  バックエンド開発  >  初心者のための 30 の PHP ベスト プラクティス (荒野に明かりはありません)_PHP チュートリアル

初心者のための 30 の PHP ベスト プラクティス (荒野に明かりはありません)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:25:551233ブラウズ

1. PHP マニュアルをよく読んでください
2. エラー報告を有効にする
すべてのバグがプログラムのエラーを引き起こすわけではないため、エラー報告は PHP を開発する際に非常に役立ちます。走らないで。製品を正式に使用する場合は、エラー報告をオフにする必要があります。そうしないと、顧客には奇妙な文字が大量に表示され、それが何を意味するのかがわかりません。
3. IDE を使用する
IDE (統合開発環境) は開発者にとって非常に役立つツールです
Wildness はここで netbeans IDE を推奨します。
4. PHP フレームワークを使ってみる
5. DRY メソッドを学ぶ
DRY は Don'trepeat Yourself の略で、どの言語であっても重要なプログラミング概念です。 DRY プログラミングでは、その名前が示すように、冗長なコードを作成しないようにします。
6. スペースを使用してコードをインデントし、読みやすさを向上させます
7. コードを「階層化」します
アプリケーションをコードのさまざまな部分に階層化します。これにより、将来的にコードを簡単に変更できます。 一般的に使用される MVC パターンなど。
8. 常に を使用します
9. 意味のある一貫した命名規則を使用します
11. MAMP/WAMP をインストールします
通常は、 PHP スクリプトは 30 秒に制限されており、それを超えると PHP は致命的なエラーをスローします。
13. OOP を使用する
14. 二重引用符と一重引用符の違いを理解する
15. phpinfo() を Web サイトのルートディレクトリに置かないでください
16. パスワードを暗号化して保存してください

ただし、MD5 ハッシュはとうの昔に侵害されているため、安全性は向上していますが、巨大な「レインボー テーブル」を使用すると、ハッカーがハッシュを相互参照してさらに安全性を高めることができることに注意してください。ソルトの追加も検討してください。ソルトは基本的に、ユーザーの文字列に追加する追加の文字セットであり、「ob_end_flush();」関数を最後に追加することをお勧めします。 P.S. HTML も圧縮したい場合は、「ob_start();」を「ob_start( 'ob_gzhandler')」に置き換えてください。詳しくは、この開発ヒントの記事を参照してください。





コードは次のとおりです:

;meta http-equiv="Content-Type" content="text/html; charset=utf-8">

20. SQL インジェクションを回避するためのコード
コードは次のとおりです。


$username = mysql_real_escape_string( $GET['username'] );
$id = $_GET['id'];
$statement = $ connection->prepare( "SELECT * FROM tbl_members WHERE id = ?" );
$statement->bind_param( "i", $id );
$statement->execute();


プリペアド ステートメントを使用することで、ユーザーが入力したデータをクエリに直接埋め込むことはありません。 「bind_param」メソッドを使用して値をクエリにバインドし、特に複数の CRUD ステートメントを一度に実行する場合はより高速になります
21。 Propel のような PHP 用で、ORM は CakePHP のような PHP フレームワークに組み込まれています
22. キャッシュ データベース ドライバー ページ
コードをコピーします
コードは次のとおりです:

// スクリプトの先頭$cachefile = 'cache/'.basename($_SERVER['SCRIPT_URI']); $cachetime = 120 * 60; // 2 時間 // $cachetime よりも古い場合はキャッシュから提供されます if (file_exists ($cachefile) && (time() - $cachetime < filemtime($cachefile))) {
include($cachefile);
echo "";
exit;
}
ob_start(); // ここに通常の PHP スクリプトと HTML コンテンツを入力します
$fp = fopen($cachefile, 'w'); // 書き込み用にキャッシュ ファイルを開きます
fwrite($fp, ob_get_contents()) // 出力バッファの内容をファイルに保存します
fclose($fp);ファイルを閉じる
ob_end_flush(); // 出力をブラウザに送信します


23. キャッシュシステムを利用する
  • Memcached
  • APC
  • Xキャッシュ
  • ゼンドキャッシュ
  • eAccelerator
24. Cookie データを検証する
Web 上で渡される他のデータと同様に、Cookie データは htmlspecialchars() または mysql_real_escape_string() を使用して検証できます。 Smarty は、キャッシュが組み込まれた強力なテンプレート システムです。
26.xdebug などのツールを使用してコードをプロファイリングすると、PHP コード内のボトルネックやその他の潜在的な問題を迅速に特定できます。
28. 関数をループの外に置く
ループの中に関数を含めると、実行にかかる時間とコード行が長くなります。
編集者注: ループの反復ごとにその変数を作成する必要があるかどうか、このように考えてください。もちろん、そうではありません。
29. 追加の変数をコピーしないでください (実際には、これには疑問があります。以下の説明を参照してください)
例:



コードは次のとおりです:

$ description =strip_tags($_POST['description']); echo $description; echotrip_tags($_POST['description']); 反論: 「これは、実際にはよくある誤解です。PHP は「コピーオンライト」メモリ管理を実装しており、実際にコピーされるデータを気にすることなく、好きなだけ変数に値を割り当てることができます。上記で例示した「良い」例がよりクリーンなコードになる可能性があることは議論の余地がありますが、それがより高速であるかどうかは非常に疑わしいです つまり、PHP は「コピーオンライト」メモリ管理メソッドを実装しており、最初のコードはこれです。上記はメモリが 2 倍の場合には占有されません。したがって、Rebuttal は、コードの 2 番目の方法が本当に前の方法よりも高速であるかどうかを真剣に疑っています。
30. PHP の最新バージョンに更新する
31. データベースのクエリ数を減らす
32. 勇気を持って質問する
StackOverflow のような場所が良いです。


http://www.bkjia.com/PHPjc/324069.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/324069.html

技術記事

だからです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。