ホームページを作る人のネタ帳

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 小数点』などで検索すればいいわけです。

ですから、なにが出来るのかという記憶部分が最も重要な比率をしめています。

なにが出来るのか?に応えてくれた書籍


PHPによるWebアプリケーションスーパーサンプル 第2版 PHPによるWebアプリケーションスーパーサンプル 第2版
 西沢 直木 (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からプログラムを組んでいない人がもしいれば、是非ともお勧めしたい書籍です。

実際今でも、かなりお世話になっている本ですしね。
@yamada_nt
Posted by@yamada_nt
スポンサードリンク

Comments 1

There are no comments yet.

石田賢一朗  

紹介していただいた参考書

「PHPによるWebアプリケーションスーパーサンプル 第2版」早速購入しました。
私もホームページはある程度作れるのですが、PHPで何かサービス展開できないかな?と思い勉強しています。今参考にしている本はSHOEISHA「独習PHP第2版」という本で何冊か本屋で立ち読みして一番分かり易かったので購入しました。
プログラミングはまったく初めてで、「PHPは初心者でも手軽に学習できる」とありましたが、やはり初心者には難しい!
でもしっかり学び習得し、仕事につなげていきたいと思います。

2012/01/20 (Fri) 13:18

Leave a reply

Trackbacks 4

Click to send a trackback(FC2 User)
この記事へのトラックバック
  • phpの勉強を始める人にはこの本がお勧めらしい。 簡単な掲示板を自分で設計して作...

    2007.04.26 (Thu) 15:33 | マウンテンブック
  • 結婚、新婚旅行と怒涛の日々をくぐりぬけ、私生活も落ち着いてきたので、少しPHPを集中的に学ぼうと思います。これまでも講習会などでかじってはいますが、基礎力が欠けておりゼロからの開発ができません。最終目...

    2007.09.11 (Tue) 23:21 | 陽のあたらない美術館 -人間再生-
  • サンプル・プログラムをPHP5対応にしました。

    2008.04.28 (Mon) 08:45 | ぱふぅ家のホームページ
  • 「PHP に興味はあるけど、難しそうだしできるのかな~?」 と不安に思っている人のために書かれた記事かなぁ、と思ったら ちょっと違いました↓

    2012.10.16 (Tue) 15:04 | プログラミングを勉強している人に役立つかもしれないブログ