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


売れない、人が来ないホームページにならない為の、インターネットの知識とブログネタ

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からプログラムを組んでいない人がもしいれば、是非ともお勧めしたい書籍です。

実際今でも、かなりお世話になっている本ですしね。


新ブログ:ITクオリティもよろしく。
スポンサード リンク


はてなRSSへ追加 My Yahooへ追加 Livedoorへ追加 Google Readerへ追加

はてなブクマこのエントリーを含むはてなブックマーク livedoorクリップ livedoorクリップ Buzzurlにブックマーク Buzzurlにブックマーク newsing it! del.icio.usでブックマーク
私の他のブログの更新状況
RSS表示パーツ
最近のエントリー
» Photoshopちょいテク『惑星を作ってみよう』+360度パノラマ画像も作れるように
» 最近、ブログを書いている途中に筆が止まる理由がわかった気がする
» ブログエントリ別に見る『注目度10の法則』
» 天才という言葉は、生きている人にいう言葉じゃない気がする
» まるでphotoshop!JavaScriptで実装するクールなカラーピッカー[prototype.js]
» 今後の期待度が高いphotoshopブラシまとめサイト『Quality Brushes for Photoshop』
» FLASHサイト作成インスピレーションの参考になるflashサイト7つ
» あの時、何気なく吸い始めた一本のタバコの値段が900万だと知ったとき
» jQueryサンプル公開後の反省会。みなさんからのアドバイスを5本サンプル化
» [追記]数百件先の画像まで一気に検索してしまうインターフェイスを搭載したfirefoxアドオン
» プロとアマの違いってぶっちゃけたったひとつ
» 一晩で覚えるjQueryの逆引き基礎サンプル7つ
» あなたは大丈夫?知らず知らずのうちに感じている10のパソコンストレス
» よごれた感じのフォトショップチュートリアルとブラシ
» 第2回web開発者インタビュー。マチウケメール便開発者『開発環境はeclipseです!』

ホームページを作る人のネタ帳トップへ

Comment

当ブログのコメントポリシーはこちら

 
管理人にのみ表示する
 

Home

ブログ記事を検索

Google

カテゴリー

月別過去記事

RSSフィード

私のおすすめ書籍

リンク

お問い合わせとか

お問合せ、広告について

名前:
メール:
件名:
本文:

プラグイン

あわせて読みたい

フィードメーター - ホームページを作る人のネタ帳

SPONSORS


このブログについて

当サイトはインターネットでのデザインや、ホームページ作成に関する私Yamadaの個人的勉強をネタとしてご紹介するサイトになっています。 
>> 管理人プロフィール
>> このブログの人気記事
メールでホームページを作る人のネタ帳を購読





私が個人的に作ったり運営しているサイト
■アイデアノート
■WEB9.0 ホットなWEBサービスを
■ブログ支援【e】パレット(超人気)
■どばっと動画検索 イーチューブ
■ブログネタ収集用『BMF』
■PHPプログラムを作る人のメモ帳
■SEO上級者マニュアル

この日記のはてなブックマーク数

最近のエントリー

タグクラウド

最近のトラックバック

最近のコメント