聞いたら一生の宝,プログラミングの基礎の基礎
第2回 PHPの基礎を見直す
PHPについて見なおそう
みなさんこんにちは,
TOIBE発表ではシェアがここ五年で10.
第1回では,
PHP
Webアプリケーションを作成するのに特化したサーバサイド側のプログラム言語のひとつです。
PHPの特徴としては下記のことがあります。
- 初心者でも理解しやすい。
- ほとんどのウェブサーバと有名OSでモジュールでもCGIでも動作します。
- プログラムの記述方法も手続き型,
オブジェクト指向, 両方の混在で記述できます。
このように導入までのハードルの低さが特徴でもあります。
よってホスティングサービスにおいても,
PHPのコーディング規約
前回でもコーディング規約から始めましたが,
また,
その中でコーディング規約として用いられるものは以下のものが多いです。
- PEAR標準コーディング規約
- フレームワークの記法に合わせたもの
- PHP-FIG
(PHP Framework Interop Group) 制定のコーディング規約 (PSR-0, PSR-1, PSR-2) - 社内/グループ内のコーディング規約
- PEAR標準コーディング規約
PHPのオープンソースライブラリであるPEARの公式ディストリビューションに含まれるコードに適用される規約
- 各フレームワークの記法
利用するフレームワークのコーディング規約それぞれに制定されている規約
- PHP-FIG制定のコーディング規約
CakePHP,Laravel,Zend Framework 2などの主要フレームワーク開発グループによってまとめられているコーディング規約
CodeIgniter
- 社内/グループ内のコーディング規約
この中で,
ただ,
4の社内のコーディング規約については避けられないものもありますが,
また,
記述時に徹底するのではなく開発ツール側で整形してしまうというのも提案してみましょう。
PHPのフレームワークは何を使う?
コーディング規約の項であげたようにPHPでは現在多くのフレームワークが利用されています。
Laravel,CodeIgniter,CakePHP,FuelPHPなど様々なものがあります。
フレームワーク | 特徴 | バージョン |
---|---|---|
Laravel | 最近世界ナンバーワンのシェアに躍り出た | 5. |
CodeIgniter | 軽量で速度重視。汎用的で豊富なライブラリが用意されている | 2. |
CakePHP | 日本でナンバーワンのシェア。Ruby on Railsの概念を取り入れている。 | 3. |
FuelPHP | CodeIgniterと同じ開発者。HMVCパターンを用いる | 1. |
※2015/
※HMVCパターン モデル=ビュー=コントローラパターンであるMVCから派生した階層構造されたMVCパターン
無名関数はなぜ必要?
PHPのサンプルを見ているうちに以下の様な記述を見たことはありますでしょうか.
add_action("hoge",function(){
…
});
これはこのような記述と同等です。
function foo(){
…
}
add_action("hoge","foo");
このように関数名を指定しない関数は無名関数と呼ばれます。
無名関数を知らなくても実装するのに困らないのになぜ必要なのでしょうか。
知らなくても実装には支障はないです。しかし知っていると,
無名関数とはその名の通り,
一般的な関数は名前を定義し,
一般的な関数で再利用可能なことは便利だと思います。しかし,
それに引き換え,
他にも,
システム開発中に発生する
最後に
本稿では,
これらをもっと体系的に見返したい場合PHP:The Right Wayなど良い文献があります。
PHP7のリリースを控え,