より良いPHP開発者になる為におさえるべき10点

PHPは現在、おそらく最も人気のあるウェブ開発言語です。少なくとも2千万のドメインがPHPを使用しています。WikipediaやFacebookなどの主要サイトや、WordPressやDrupalなどの世界最大の級オープンソースプロジェクトで使用されている言語です。この記事で、私がPHP開発の初心者だった頃に、私自身が言ってほしかった事10点をシェアしたいと思います。あなたがこの素晴らしいウェブ開発言語に一歩踏み出しているのなら、1つか2つでも学んで頂けると期待します。

PHPコア関数とクラスを使う

かなり一般的な事をしようとしているなら、利用できるPHP関数やクラスは既にあります。独自の関数を作成する前に、PHPマニュアルを常にチェックして下さい。trim()関数を使うとき、文字列の最初と最後に空白を削除する関数を作る必要はありません。

PHPのXML Parser関数(xml_parse_into_structなど)を活用できるのに、なぜRSSフィード用のXMLパーサを構築しますか?

設定ファイルを作成する

あらゆる場所にデータベース接続の設定を散在させる代わりに、その設定を含む1つのマスターファイルを作成し、それをあなたのPHPスクリプトに入れましょう。後で詳細を変更する必要があるときは、複数のファイルではなく1つのファイルで行なえるのです。これは、複数のスクリプトで他の定数や関数を使用しなければならない時にも、とても便利です。

設定ファイルの使用は、コードをモジュール化し維持しやすくする、一般的なウェブアプリケーションパターンです。

データベースに入るデータを常に浄化する

SQLインジェクションは、あなたが考えるより一般的で、後で大きな頭痛をもちたくなければ、データベース入力を浄化(サニタイズ)するのが、問題を取り除く唯一の方法です。まず、あなたのアプリケーションが損害を受ける可能性がある所について学び、そしてSQLインジェクションについてよく理解する事です。SQLインジェクション攻撃の例を読んで、SQLインジェクション・チートシートをチェックして下さい。

幸運にも、問題のかたまりを取り除くのに役立つPHP関数があります:mysql_real_escape_stringは通常の文字列(このPHP変数ガイドを使用してデータ型について学ぶ)を取得し、サニタイズします。この関数をhtmlspecialcharsと一緒に使用すると、予約されたHTML文字(<script>は&lt; script&gt;となる)を変換します。ただデータベースが保護されるだけでなく、ユーザーが投稿したHTML(コメントやフォーラムスレッドへの投稿など)をレンダリングするときに、クロスサイトスクリプティング(XSS)攻撃からアプリを守ってくれます。

開発段階でエラー報告を有効にしたままにする

PHPの死のホワイトスクリーンは、明らかに何かが間違っていることを知らせる以外に他なりません。アプリケーションを構築するとき、error_reportingとdisplay_errorsをオンのままにして、実行時エラーを表示させます。これはエラーがどこから来ているかを素早く特定するのに役立ちます。

サーバーのphp.iniファイルでこれらの実行時設定をするか、このファイル内のディレクティブを無効にするアクセス権がない場合は、それらをPHPスクリプトの上に設定します(こうやると限界はあるが、ini_set()関数を使用しdisplay_errorsを1に設定する)。

エラー報告を有効にする理由はとてもシンプルです。エラーをすぐに知れば早く修正できるからです。PHPが与える警告メッセージは気にしていないかもしれませんが、しかしそれらは通常、あなたがケアできるメモリ関連の問題へのシグナルです。アプリケーションの構築が完了したら、error_reportingとdisplay_errorsをオフにするか、その値を本番稼働レベルに設定してください。

コードを上書きしない

スクリプトのコメントを使ってコードを適切に文書化することは、間違いなく良い練習ですが、1行ごとにコメントするのは本当に必要でしょうか?おそらくそうではありません。ソースコードの複雑な部分にコメントを書くことで、再訪したときに、何が起こっているのかを素早く思い出すことができます。ですが、MySQL接続コードのような簡単なことはコメントしないで下さい。良いコードは殆どの場合、一目瞭然です。

お気に入りのコードスニペットを保存しておく

あなたはPHP開発のキャリア全体を通して同じことを沢山コーディングしていますが、コードスニペットを常に利用しやすく保存しておくと、多くの時間を節約するのに役立ちます。コードスニペットコレクションを保存し同期できるアプリがいくつかあるので、何処でも何時でもスニペットが利用できます。コードスニペットをコーラリングできるアプリは、スニペット、コードコレクター、Snipplr(ウェブベース)があります。

Eclipse(コードテンプレートを格納できる)とDreamweaver(Snippetsパネル経由)などの殆どの統合開発環境(IDE)には、コードスニペットを格納するための組み込みの機能があります。

テキストファイル(又はPHPスクリプト)を含むスニペットと呼ばれる単純で整理されたディレクトリ– 又、複数のコンピュータを使用する場合は、Dropboxのようなアプリを使用してクラウド内で同期させることもできます。

良いソースエディタを使用して時間を節約する

エディタはあなたの大半の時間を費やす場所なので、時間を節約できるものを使用したくなります。シンタックスハイライトは必須なので、ソフトウェア機能として得るべきものです。その他ボーナスとしては、コードヒント、コードナビゲーション、ビルトインデバッグツールなどがあります。これら全ては、かなりの時間を節約できるものです。PHP用のソースコードエディタ/ IDEの例はphpDesignerです。

ドキュメントを読んだり、オンラインでのチュートリアルを読むことで、ソースコードエディタの機能に慣れてください。ここでの投資は、コーディングのワークフローを合理化します。

開発者向けのソースコードエディタのリスト同様に、コーダーの為の無料テキストエディタのリストで、普及しているコード編集アプリケーションを探せるので、チェックしてみて下さい。

MySQL管理ツールを使用する(phpMyAdminなど)

コマンドラインでMySQL(データベース管理システムではPHPのペアリング)を扱うのが好きな、クレイジーなほどハードコアな開発者を、私は知っています。私にとっては非効率的で、まあ、クレイジーです。mysqladminを使用してMySQLデータベースを管理する方法を知っておくことは良いことですが、その後は、phpMyAdminのようなグラフィカルユーザーインターフェイスを使用して、データベースの開発と管理をスピードアップするべきです。

phpMyAdmin、 特に、優れたオープンソースのデータベースビューア/マネージャーで、MySQLデータベースをグラフィカルに表示することができます。コマンドラインから時間を無駄にする必要はありません。データベースとテーブルを素早く構築し、データベースをSQLファイルにエクスポートしたり、SQLクエリを実行したり、テーブルを最適化し、問題をチェックし、MySQLデータベースユーザーを作成したり、特権を素早く設定したり、他様々な事ができます。ウェブホストにphpMyAdminがインストールされている可能性があります。そうでなければ、インストールに数分しかかかりません。

ベストMySQLデータベース管理ツールの一覧と、phpMyAdminの代替のMySQLアプリケーション一覧をチェックしてみて下さい。

PHPフレームワークを使用する

ウェブアプリケーションの開発/ 迅速なアプリケーション開発フレームワークを使用すれば、とても助かるという事を理解するのに、私は本当に長い時間がかかりました。最初は学習の柔軟性が無く、フレームワークのAPIがどう機能するのかを教える書籍が沢山あり、後で驚くべき生産性と効率性を知る事になりました。フレームワークを使用すれば、今まで使用しなかったかもしれないより良いウェブ開発パターンを使用することになります。

PHPフレームワークの使用は、後で他の人とコードを共有したり、一緒に作業しなければならない時に、多くの時間を費やし、ウェブアプリケーションを構築する標準化されたプラットフォームを提供します。私は開発者を雇わなければならなかった時、その重要性を難しい方法で学んでいました。

一般的なPHPフレームワークは、CakePHP、CodeIgniter、symfony、Zendです。

他のPHP開発者と繫がりを持つ

あなたはその全てを知りません。自分よりも良い方法を知っている何千人もの人がいます。PHPDeveloperのようなPHPコミュニティに参加し、他の人と交流する事をお薦めします。他の開発者と繫がることで、現在の作業のより良いやり方で学ぶことができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です