Edited at
PHPDay 14

PHP歴8ヶ月の自分がPHPについて考えてみる

More than 3 years have passed since last update.

この記事は,PHP Advent Calendar 2014 14日目の記事です.

私は今年大学を卒業し,事業会社に就職した新米PHPerになります.

元々大学時代は,Javascriptをメインに書いており,PHPをほとんど書いたことがない状態で職につきました.

そこで「PHPってこんな言語なんだー」と思うことがあったので,振り返りの意味を込めて,それらをランキング形式で記述していきたいと思います.

(※あくまでも4月〜12月14日までも私の経験が元になっているので,ツッコミ大歓迎です!)

(※他の言語では,こんな感じ!というツッコミもお待ちしています!)


第3位 チェック用の関数が多い(empty, isset, is_null)

第3位は,「チェック用の関数が多い」です!

<?php

$var = 0
$arr = array();
$n = null;

if(isset($var)){
//true
}elseif(empty($var)){
//true
}elseif(is_null($var)){
//false
}

if(isset($arr)){
//true
}elseif(empty($arr)){
//true
}elseif(is_null($arr)){
//false
}

if(isset($n)){
//false
}elseif(empty($n)){
//true
}elseif(is_null($n)){
//true
}

これらの関数には,始めはすごく混乱しました.

特にempty関数は,trueと判定されるものが多くしっかりとチェックする関数を選ばなければ,予期せぬエラーが発生すると感じました.


第2位 スコープ

第2位は,「スコープ」です!

JavaScriptではスコープチェーンにより,意識して変数定義を行っていたんですが,PHPは定義されているコンテキスト内がスコープのため,書き始め頃はコード内のあらゆる場所に変数定義を行ってしまっており,かなりわかりにくいコードを書いてしまっていました.


第1位 PHPファイル内にめちゃくちゃHTMLを書き込める

第1位は,「PHPファイル内にめちゃくちゃHTMLを書き込める」です!

PHPは「Hypertext Preprocessor」という名のごとく動的にHTMLデータを生成することによって,動的なウェブページを実現することを主な目的としたプログラミング言語です.(wiki調べ)

当初は,この機能性がすごく便利なものだと思っていたんですが,HTMLの要素が肥大するごとにソースがスパゲティになってしまい,可読性が悪くなってしまいました.(まぁビュー部分にロジックを持ち込むなというはなしですが…)

このPHPの特性は便利な反面,きちんとした形で利用しなければならないと深く感じました.


総評

まだ,PHP歴8ヶ月あまりですが今後もPHP力を高めていきたいと思いますので,今後共,PHP界隈のみなさんよろしくお願いします!


参考資料