大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

コマンドラインでPHPを使うための情報は少ないかも

著者:高木信尚
公開日:2018/06/29
最終更新日:2018/06/29
カテゴリー:技術情報

高木です。おはようございます。

Webアプリケーション嫌いを公言している私ですが、最近久々にHTMLをゴリゴリ書くことがありました。
それもPHPでHTMLを生成するコードをせっせと書いたのです。

こう書くといかにもWebアプリケーションをやっているように見えるかもしれませんね。
しかし、実際にはコマンドラインのPHPでHTMLを生成しているだけで、生成したHTMLもローカル環境で閲覧するだけです。

私はWebアプリケーションは嫌いですが、Webそのものはそんなに嫌いなわけではありません。
ゴリゴリ書くのは久しぶりだったものの、HTMLも一通り書けるのです。
面倒なので、できればHTMLのコーディングはしたくないですけどね。

そういえば、クローバーフィールドのWebコンテンツの一部を静的なHTMLにしようという計画があり、そのためのツールは私が書くことになりそうです。
これもやはりHTMLをゴリゴリ生成するツールになりますが、決してWebアプリケーションではありません。

そんなわけで、HTMLをPHPで生成するといっても、それはあくまでもPHPでコマンドライン・ツールを作る話なのです。
そういうことをやっている過程でふと思ったことがあります。
それは、PHPでWebアプリケーションを開発するための情報は世の中にあふれていますが、コマンドライン・ツールを開発するための情報はそんなにないということです。

もちろん、Googleで検索すれば、コマンドラインでPHPを使う方法はたくさんヒットします。
しかし、そのどれもがHello, World!程度で終わってしまっています。

これまで、PHP以外のプログラミング言語の経験がなく、しかもWebアプリケーションしかやったことがないという人も少なくないと思います。
そういう人たちにとって、コマンドラインでPHPを使ってHello, World!というのも必要な情報でしょうが、それだけでは何も作れません。

たとえば、上記のようなPHPプログラマーの場合、標準エラーの概念とかもよくわかっていないのではないかと思います。
標準入力や標準出力はWebアプリケーションでも使いますが、使い方がかなり特殊なので、リダイレクトやパイプラインなんかはおそらくわからないでしょうね。

ほかにはエラー処理のやり方もWebアプリケーションとは異なります。
エラー処理についてはWebアプリケーションよりコマンドライン・ツールの方が基本的には簡単です。
簡単ですが、シェルに返すエラーコードのこととかもあり、新たに覚えないといけないこともあります。

コマンドライン引数の処理のしかたもそうですね。
もともとCやC++なんかでコマンドライン・ツールを作った経験があるプログラマーがPHPを使うなら、数分もあれば理解できることでしょう。
しかし、そうではない人たちにとっては、ちょっと大変だと思います。

20代のころは普段から10言語程度を使い分けていた私も、30代以降は使うプログラミング言語をうんと絞りました。
最近ではスクリプト言語はPHPとTcl/Tkしか使っていません。
先日からJavaScriptは少しかじっているものの、今後もそれを主に使うことはないと思います。

そんな状況なので、PHPにはそれなりに思い入れもあります。
いずれ、コマンドラインでPHPを使うことに特化したコンテンツを作りたいものです。

    上に戻る