TECHNICAL MASTER はじめてのPHPプログラミング 基本編
ということで、またもや本を書きました。今回はid:clonedとの共著で、2008/10/24発売です。
TECHNICAL MASTERはじめてのPHPプログラミング基本編5.3対応
- 作者: 下岡秀幸,中村悟
- 出版社/メーカー: 秀和システム
- 発売日: 2008/10/24
- メディア: 単行本
- 購入: 10人 クリック: 222回
- この商品を含むブログ (7件) を見る
気分的には、「ついに」というよりも「ようやく」というか、ほっとしているところが大きいです。すでにmixiの日記でも触れましたが、謹呈本も届きました。
TECHNICAL MASTER はじめてのPHPプログラミング 基本編 posted by (C)shimooka
目次はこんな感じです。
PHPの世界へようこそ 01-01 PHPの世界へようこそ [PHPって?] 01-02 PHPが動作する環境を準備しよう [PHPのインストールと設定] 01-03 PHPの動作確認 [PHPの動作確認] プログラミングを始めよう 02-01 PHPプログラムのお約束ごと(1) [<?php ?>] 02-02 PHPプログラムのお約束ごと(2) [/**/ // エラー ] 02-03 変数 [変数] 02-04 定数 [定数] 02-05 型 [型] 02-06 配列 array [配列を使う(1)] 02-07 計算式を使う [計算 比較] 02-08 論理演算 文字列演算 [計算式を使う(2)] プログラムの流れを変えよう 03-01 条件分岐 [if] 03-02 複雑なif文 [if else] 03-03 いろいろの条件分岐 [三項演算子とswitch文] 03-04 繰り返す(1) [while do-while] 03-05 繰り返す(2) [for foreach] いろいろな関数を使ってみよう 04-01 関数とは [関数] 04-02 文字列操作 [文字列 print echo] 04-03 文字列操作(2) [strlen explode substr str_replace] 04-04 日本語文字列操作 [mb_strlen mb_substr mb_convert_kana] 04-05 パターンマッチング [ereg ereg_replace] 04-06 日付と時刻 [date mktime] 04-07 ファイル操作 [fopen fclose] 04-08 ファイルの読み書き [fread fgets feof] 04-09 独自の関数 [function] クラスを使ってみよう 05-01 クラスとオブジェクト [クラス オブジェクト] 05-02 クラスを使う [class new extends] 05-03 インターフェースと例外 [interface try catch throw] 05-04 SimpleXML [SimpleXML] 効率よく開発するために 06-01 他のプログラムファイルを使う [PEAR ] 06-02 PEARライブラリ [PEARライブラリ] PHPとWebアプリケーション 07-01 PHPとWebアプリケーション [PHPとApache] 07-02 HTMLとPHPスクリプト [HTMLとPHP] 07-03 クッキー [Cookie] 07-04 PHPによるアクセス認証 [認証] 07-05 PHPでのセッション管理 [セッション] 07-06 PHPとJSON [JSON] 07-07 Webアプリケーションのセキュリティ [セキュリティ] データベース 08-01 データベース「SQLite」 [SQLite] 08-02 SQL(Structured Query Language) [SQL文] 08-03 PHPからのデータベース操作 [sqlite_open] 08-04 データベースのセキュリティ [SQLインジェクション] アプリケーションを作ってみよう 09-01 ミニミニブログを作る [ミニミニブログ ] 09-02 ミニミニブログの機能概要 [機能概要] 09-03 ミニミニブログを作ってみよう [ディレクトリ] 09-04 メインページのHTMLを作成する [メインページHTML] 09-05 データベース・テーブルの作成とテストデータの登録 [データベース] 09-06 ミニミニブログ用テーブルについて [データテーブル] 09-07 友達一覧を作る [友達一覧] 09-08 投稿一覧を作る [投稿一覧] 09-09 投稿機能の実装 [投稿機能] 09-10 ページめくり機能を追加する [ページめくり機能] 09-11 ユーザー認証機能の追加 [ユーザー認証] 09-12 友達登録機能を追加する [友達登録機能] 09-13 セキュリティ対策 [セキュリティ] 09-14 リファクタリングする [リファクタリング]
きっかけは「まえがき」に書いていますが、例の「中級って何?」なネタです。
まえがき posted by (C)shimooka
「書けるようになりましたー」な人ばっかりといわれるPHPですが、実際にそこで満足してしまって、成長が止まっちゃう(止めちゃう)人が多いんじゃなかろうかという気がしてます。
で、そこから次のステップに行くためには、Webアプリケーションのベースとなった技術や周りにある技術はもちろんのこと、中規模のコードを書く際にどういったやり方をしていくのかとか、プログラミング以外の物事を知る必要がありますが、入門書の段階からそういうものがあるということを知る、もしくはその中身をイメージだけでも良いから知っておく(知らせる/知らしめる)方が良いと思い、それらをできるだけ書いたつもり(コラムですが)です。
コラム posted by (C)shimooka
「中級ネタ」当時から書籍で何かできないかと考えてましたが、ちょうど執筆の話をいただいたので、今までの「PHP簡単ですよー」「PHP楽ですよー」ではないPHP入門書にしようといろいろとやってみました。
まず、この入門書。序盤は「コマンドプロンプト命」です。最初の環境構築時にApacheをインストールさせません。
コマンドプロンプト命 posted by (C)shimooka
Webアプリケーションを作成するのは第7章から。終わりから3つ目の章です。
Web関連は第7章から posted by (C)shimooka
「分からんうちからWebで動かすなお前ら」という雰囲気を初っ端から醸し出すという、今までのPHP入門書で見たことない展開に仕上がってます。
セキュリティについては、XSSとSQLインジェクションの基本的な考え方に触れてます。あ。使ってるデータベースはSQLite2(PHP5.2にバンドルされてるやつ)です。
Webアプリのセキュリティについて posted by (C)shimooka
データベースのセキュリティについて posted by (C)shimooka
あと、入門書の巻末にありがちな関数一覧のようなものはありません。代わりに、サンプルコードと一緒にPHPマニュアルを展開させるようにしています。
PHPマニュアルも展開させる posted by (C)shimooka
tar.gz形式なので、XP標準のアーカイバじゃダメなので、別途+Lhacaデラックス版をインストールして展開させてます。また、「使うときは最新を使ってね」と釘を刺してます。
最終章はおさらいとして「twitterもどき」なWebアプリケーションを作ります。
twitterもどきを作ります posted by (C)shimooka
完成後にリファクタリングして、適宜ファイルを分轄させていますが、一応MVC風になってます。
そうそう。
書籍のタイトルは「PHP5.3対応」とありますが、使用する環境や基本的な動作確認はPHP5.2.6です。また、PHP5.3.0α2でも一通り動作確認してありますが、一点だけPHP5.3.0α2のDateTime#setTimeが変? - Do You PHP はてなの件で動作が違う部分があります。
こんな感じの若干変わった入門書ですが、「入門書の段階で中級者への布石をしておく」という当初の目的はある程度達成できたのかな、と思っています。
本屋さんでお手にとっていただけると幸いです:-)
あと、id:clonedお疲れ様でした!打ち上げやりましょ、打ち上げ!