はじめに・背景
最近、面接や書類選考でお祈りされる理由として、LAPRAS のページや Github を参考にして頂いたところ、
参考: 当方の LAPRAS のページ
参考: 当方の Github ページ
スキル的に Ruby に偏っているのでうちマッチするポジションを云々
というのが挙げられるのですが、いや、誤解ですから!
確かに 10 年前ぐらいは Ruby をしこたまやって、OSS で拡張ライブラリ作って Github に挙げまくって本まで書いていましたけど(絶版しちゃったけど)! 今は Ruby に全然こだわってませんから! 他が目立てないだけですから!
…という、本当にめっちゃもったいない目に 2 回ほど遭ったわけです。
ただ、他の言語もやってますよ! と言っても、アウトプットと呼べるものは paiza の Python3 スキルチェックで S ランク取得したぐらいで確かにそう誤解されても仕方がないのも事実です。
そこで、最近案件としてめっちゃ上がっている PHP のアウトプットをしようということにしたわけです。
(補足)当方の個人サイトは、現在、PHP+Laravel で構築中して Github で管理しているのですが、さすがにプライベート領域な話ですので、プライベートリポジトリとしていまして…その点ではアウトプットにできないのです。
環境選び
では、PHP を勉強する際に環境を選ぼうというわけですが、当方のマイマシンに Docker を入れているのでこれを活用しましょうと。
以前、PHP の勉強用に Docker で遊び場用リポジトリを作ってみて、その記事を Qiita にも書いたのですが( 参考: 今度はPHP(LAMP)環境をDockerで再発明してみた )、Laravel で色々遊んでみようとしたときに Laradock の存在を知り、最初から Laravel どころか nginx ・ Apache ・ MySQL ・ Redis ・ PHPMyAdmin ・ Beanstalk も入っているという、 「PHP 環境の宝石箱やー!」と叫びたくなったわけです。
参考: PHPフレームワーク「Laradock」で、手軽にLaravel+Dockerな開発環境を構築する
(補足)Homested も検討してましたが、 Vagrant 必須とのことで、VirtualBox が入っていない(以前は入れていましたが、ネットワークドライバ絡みで謎の青画面が頻発していたためアンインストールしました)こともあり、Docker が使えそうなものを探していました。
プログラミングの勉強ついでにプログラムランチャも作った
こうして、「独習 PHP 第3版」片手に PHP の勉強をはじめました。実行結果はブラウザに出して、エラーは Docker のコンソールから確認します。テストスイートはどうするかは「これから考える」ですが、早くノウハウを取得できればなぁと。
これらのファイルは Guthub のリポジトリとして公開していますので、ご興味のある方はどうぞ。
そのうち、動作確認にいちいちブラウザの URL 欄にファイル名を書くのは面倒ということで、ズボラな私は「それも PHP にやらせたらえーやん」と思いつき、 index.php にその機能をもたせてみました。
ブラウザの URL 欄に
http://localhost
と打ち込むと index.php が読み込まれてファイル・ディレクトリの一覧が現れます。リロードすれば追加したファイルも反映されます。
あとは、確かめてみたい .php ファイルをクリックすれば、プログラムが実行されて結果が出てくる仕掛けです。ほら、簡単でしょう?
他にも、CSS とかを使って見た目をより華やかにすれば PHP 習得のモチベーションも上がるかなとは思いますが、今の所必要ではないので「いつかやるリスト」に入れるのみにしています。
最後に
この機能を組み込むために require_once でのモジュール化といった PHP の基礎をがっつり楽しめたのは大収穫でした。やっぱり「ズボラしたい」は学習の源ですね。
おそらく、PHP を学ぶ上でまだ考慮すべき点も残っていると思いますし、Laravel でのサイト構築も進めたいです。とりあえず、区切りができたので今回はこの辺で御暇いたします。