鈍器としての PHP
最近、PHP が頻繁にバッシングされていると聞きます。かなりの数のプロジェクトで、非常識な php コード ベースを見てきました。非常に残念なことに、コードを書いたときにその人が幻覚剤を飲んでいたのではないかと思います。ときどき、最初の開発者が何をすべきでないかについてもう少しガイダンスがあれば、コードはどのようになっていただろうかと思います。
しかし、私は、100% OOP で作成された非常によく組織化された PHP プロジェクトをいくつか見てきましたが、それらは「php プログラマー」によって書かれたものではなく、維持するのが楽しいものでした。
私はすべての若手開発者にJava Anti-Patternsへのリンクを提供します。このページの良い点の 1 つは、Java 固有の例です。Java には、よくある間違いを起こしやすい多くの機能があるからです。php の同様のリストを見つけたいと思っていましたが、Google 検索では意味のあるものは何も見つかりませんでした。
開発者が PHP をプログラミングする際に知っておくべきことについて、すでにいくつかの質問がありますが、私は否定的な点に焦点を当てたいと思いました。
PHP でよく見られる避けるべきことは何ですか? また、同じことをより良い方法で行うための一般的な解決策は何ですか?
言及されると思われるがPHP固有ではないいくつかの明白な例:
- SQL を連結しないでください。準備ステートメントまたは適切なエスケープを使用します。
- やみくもに PHP を HTML に埋め込まないでください。テンプレート/MVC を使用してください。
- フィルタリングされていない生のユーザー入力をやみくもに投稿しないでください - XSS攻撃のためにそれをスクラブしてください。
- すべての POST と GET を手動で解析しようとしないでください。Web フレームワークを使用してください。
以下は、PHP 固有のものと考えられるいくつかの例です。
- ファイルのインクルード/リンクを必要とする層が多すぎないようにし、条件付きリンクを避けるようにしてください。むしろ、適切な命名規則を持ち、組織と一貫性を保つようにしてください。
- あなたがそれを助けることができない限り、PHP の生のデータベース API を使用しないでください。代わりに、 ADODBのようなデータベース フレームワークを使用してください。
- ある場所では変数を文字列に設定し、別の場所ではブール値に設定して、ブール値のテストが意味を成すことを期待して、PHP の動的型付けを過度に使用しないでください。
では、あなたの好きな PHP の禁止事項と、それを正しく行う方法を教えてください。