PHPプログラムを始めてみたい、難しいと思っている人の為に
私をPHPが組める人間に育ててくれたのは1冊の書籍だった
私がPHPプログラムを始めたのが3年前。
実際問題以前からVBやベーシックは出来ました。
でもWEBアプリとなれば、CGI。
触ることは出来ても、1から全て作りこむなんて事は出来なかったんです。
そこでPHPのお話を始めて聞いて、簡単だというのでやってみましたが、やっぱりわからない。
なんせプログラムといえばベーシックやVBの考えを強く持っていた為、ページが変わってデータの受け渡し云々の意味そのものがわからなかったからです。
そんな私がとりあえず3年という月日でSQL、APIまでわかり、自社で提供しているXoopsのようなCMSを開発できるようになった経緯をお話しておきます。
はっきり申し上げてまだまだ『出来る』人からみれば半人前以下ですが、これからPHPを始めようとか、難しくて前に進めないという方の為に参考になればと思います。
あとがきつけたし2007/4/28
PHPでちょっとした学習や遊びをしたいという思いがある人はロリポップがお勧めです。ただ、お金を掛けて覚えるのはいささか問題でもあり、CD-ROMに入っているWindowsでPHPを動かす方法も、わからない人には大きな壁かもしれない。
そこでお勧めなのが
http://land.to/
ここはちょっと重い。でもPHPが使えるし、SQLも使える為勉強するにはもってこいかもしれません。XOOPSも動作確認しています。
PHPプログラムの基本は3つ
PHPを始める為に、基礎となるものは実は次の3つです。
何が出来るかをまず知る事
何が出来るかというのは、恐らくプログラムを組む人がまず最初に知っておかなければならない大原則だと私は思っています。
『あ、たしかファイルに保存する方法があったな』とか『そういえば小数点を切り捨てる方法があったな』というような記憶があるとないとではその人がPHPを組める範囲が大きく変わるからです。
簡単な掲示板を自分で設計して作ること
とにかく何が何でも一番最初に掲示板を作ることを、新人教育に私は使っています。
掲示板はプログラムの基礎が詰まっています。
データを入力する部分を作成。データを渡す。データを受け取る。データを保存し、保存したデータを引っ張る。そして表示。
全ての関数を覚える必要はないという事
なにが出来るかさえ知っていれば、関数を全て覚えておく必要など今のところ私にはありません。
そんなときは私の横にある書籍が回答してくれるからです。
また、Google検索もその答えを教えてくれます。
『PHP 小数点』などで検索すればいいわけです。
ですから、なにが出来るのかという記憶部分が最も重要な比率をしめています。
なにが出来るのか?に応えてくれた書籍

西沢 直木 (2006/03/24)
ソフトバンククリエイティブ
この商品の詳細を見る
この本は本当にすごい。
この第一版もかなり初心者向けに作られていて非常に
参考になりましたが、第2版のボリュームには適わない。
書いている内容はほぼ第一版を羅網し、新しい項目が追加されているようなイメージ。最初本屋で立ち読みしたとき、第一版と同じかと思ったほどでしたが、甘かったです。実際はこちらの方がまとめ方のスキルが向上しているように感じました。
このPHPの第一版を買うまで、PHPの本5冊ほど買っていましたが、半分以上がSQLデータベースの説明や、各大型アプリケーションの作り方等が殆ど。
また、アプリケーションのサンプルCDが無いのは100%使えないというのが印象。コピーペーストできないんですから・・・。
大型アプリケーションの作り方サンプルは非常に勉強になりますが、肝心のその関数が何をしているとか、何ができるのかという勉強にはならない。
そういう書籍にばかり出会ってしまうと、出来上がったアプリケーションは触れるけど、1から作れるようにはなれませんでした。
ところがこの書籍、驚くほど各関数の動きを細かくパーツ分けして、恐ろしく簡単なサンプルアプリケーション群がCD-ROMにつまっています。
プログラムを組む前に、何が出来るかを徹底的に記憶できる
例えばフォームという項目をみてもすごい。
フォームは入力部をあらわしていますが、その設置の仕方から始まります。
これらの設置の仕方と動きが、サンプルアプリケーション集に入っているところがまたすごい。・テキストボックス
・テキストエリア
・パスワードボックス
・選択リスト
・ラジオボタン
・チェックボックス
・隠し項目
・ボタン
さらに受け取るという項目では受け取り方法も細かく分解されている。
今度はこれをチェックする項目もこれまた細かく分解されている・フォームのデータを受け取る
・フォームのデータを配列で受け取る
・POST送信されたデータを受け取る
・GET送信されたデータを受け取る
・リンクからデータを受け取る
・フォームのデータをまとめて処理する。まとめて変数にセット。
・データ入力時のみデータを受け取る
・配列のデータを受け取る
至れり尽くせりです。これだけの目次を一通り見るだけで、PHPを作るときに、このチェックだけしたいなと思ったらそれを開けばよいだけ。恐ろしい。・データが入力されたかチェックする
・特定の文字列を含むかチェックする
・桁数をチェックする
・数値かどうかチェックする
・半角数字のみかどうかをチェックする
・大文字か小文字かチェックする
・日付かどうかチェックする
・ファイルの拡張子をチェックする
フォームという項目は、メール送信アプリのサンプルや、注文フォームアプリまで紹介されています。
このフォーム部分は第2章です。
こんな細かいパーツがずらずらと15章まであります。
文字列という章もすごい。
かなりかゆいところまで手が届いています。・文字列の一部を取り出す
・文字を置き換える
・文字から空白の削除
・文字を比較する
・文字列から文字を検索する
・大文字と小文字を変換する
・文字を分解する
・文字列を繰り返し表示する
・文字の出現回数を調べる
・文字の長さを求める
・全角と半角の変換
・文字を暗号化する
あの暗号化ってどうやるんだろうとか、思ったときもこれで解決。
何度も言うようですが、CD-ROMにはこれら全ての項目が一つのサンプルアプリケーションとして収録されているということも見逃せないです。
このほか数値、日付、配列、クラス、ファイル、PDFファイル、XML、バーコードを出力する方法とか、ディレクトリ(フォルダ)を作るプログラムや、フォルダの存在を確認する方法まであります。
セッション、cookieの使い方からSQLデータベースの使い方まで。
最後に16章で大き目のアプリケーションのサンプルがありますが、実際はおまけ程度に紹介されているだけで、この本の本当にすごいのは、パーツの分散化。
細かいパーツのサンプル集とその説明です。
唯一初心者に厳しい部分は次の3点
・PEAR:という言葉
・初期の章からもSQLを使用したものが含まれている
・Smartyという言葉
PEAR::
PEARはどちらかというと、プログラマーよりもサーバー管理者側が知っているもので、サーバーにあらかじめPEARモジュールを仕込んでおくとそれをPHPプログラマ側で、簡単な構文で呼び出せるもの。PEARは例えばAmazonの商品を簡単に取り出せるアプリとか、画像を圧縮するアプリとか、色々ありすぎてまだ始めたばかりの初心者に使うのは無理かと。
SQL
SQLサーバーはPHPを使っていくのであれば覚えておいて損はないデータベース名。
データベースを使うと、膨大なデータを手軽に保存し、取出しが出来るようになりますが、始めるにあたっては、ちょっと面倒でも『テキストファイル』などにデータを保存して取り出せるようになった方が、覚えやすいと思います。
また、SQLに保存する前に、ある程度データをチェックし、危険なスクリプトが含まれていないか等をチェック出来るようになってからのほうが良いと思います。
Smarty
Smartyに関してはHTMLテンプレートとPHPを分けて開発できるものですが最初に覚える必要はないかと思います。
私はこの書籍に出会い、かなり長時間パソコンから離れ、とにかく各パーツがどんなことをしているかを教わりました。
これからPHPを始めるという人や、まだ1からプログラムを組んでいない人がもしいれば、是非ともお勧めしたい書籍です。
実際今でも、かなりお世話になっている本ですしね。