unoh.github.com

「はじめてのPHPプログラミング 基本編 5.3対応」を執筆しました

Tue Oct 28 22:23:25 -0700 2008

こんにちは。中村です。

この度は、執筆書籍のご紹介(宣伝)です。Do You PHP?の中の人である株式会社セランの下岡さんと共著でPHPの入門書籍を執筆させていただきました。

入門書籍ではありますが、HTMLにPHPを埋め込んだWebページとしてのサンプルはあまり網羅せずに、できるだけプログラミング言語としての動作や、その周辺知識に触れるようにしています。そのため、第7章に入るまではHTMLはなく、コマンドプロンプトで実行する環境で説明をしています。

また、後半になるに従ってPHPによるWebサイト構築に説明がシフトしてゆくようになっています。

はじめてのPHPプログラミング 基本編―5.3対応 (TECHNICAL MASTER 54)
下岡 秀幸 中村 悟
秀和システム
売り上げランキング: 83690

実際に書籍をご覧いただく際には、Do You PHP?内に書籍の正誤表がありますので、ご迷惑をおかけして恐縮ではありますが、そちらも参照いただけますと幸いです。

最後に目次です。

01 PHPの世界へようこそ
01-01 PHPの世界へようこそ [PHPって?]
PHPの世界へようこそ
PHPの特徴
PHPの生い立ち
プログラムって何だろう
プログラムを作るには、どんな知識が必要?
本書でやること

01-02 PHPが動作する環境を準備しよう [PHPのインストールと設定]
本書で対象とする環境
PHP5のインストール

01-03 PHPの動作確認 [PHPの動作確認]
PHP5の動作確認
サンプルプログラムとPHPマニュアルを展開する
そもそもどうやってプログラムを作って動かすの?
本書を読み進めるにあたって

02 プログラミングを始めよう
02-01 PHPプログラムのお約束ごと(1) []
プログラムの開始と終了
プログラムの行末

02-02 PHPプログラムのお約束ごと(2) [/**/ // エラー ]
コメント
プログラムのエラー
バグとデバッグ

02-03 変数 [変数]
変数と定数
変数を定義する
変数に値を代入する

02-04 定数 [定数]
定数

02-05 型 [型]
型
型を変更する

02-06 配列 array [配列を使う(1)]
配列

02-07 計算式を使う [計算 比較]
計算をしてみよう
値を比較する

02-08 論理演算 文字列演算 [計算式を使う(2)]
論理演算をする
文字列に使う演算子

03 プログラムの流れを変えよう
03-01 条件分岐 [if]
はじめに
もっとも単純なif文

03-02 複雑なif文 [if else]
「もし~ならば~、そうでなければ~」
「{」や「}」を使わない書き方

03-03 いろいろの条件分岐 [三項演算子とswitch文]
三項演算子
switch文

03-04 繰り返す(1) [while do-while]
はじめに
while文
繰り返しを止めるbreak文
do-while文

03-05 繰り返す(2) [for foreach]
for文
foreach文

04 いろいろな関数を使ってみよう
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]
はじめに
日付や時刻を特定の形式で取得する
特定の日時を表す
DateTimeクラス

04-07 ファイル操作 [fopen fclose]
はじめに
ファイルを操作する手順
ファイルを開く
ファイルを閉じる

04-08 ファイルの読み書き [fread fgets feof]
ファイルの読み込みと書き込み
ファイル関数

04-09 独自の関数 [function]
はじめに
独自の関数を定義する
簡単な関数の例
関数の引数
値渡しと参照渡し

05 クラスを使ってみよう
05-01 クラスとオブジェクト [クラス オブジェクト]
オブジェクト指向
クラスとオブジェクト

05-02 クラスを使う [class new extends]
クラスを定義する
クラスからオブジェクトを作る
親クラスと子クラス

05-03 インターフェースと例外 [interface try catch throw]
インターフェース
例外

05-04 SimpleXML [SimpleXML]
SimpleXMLとは

06 効率よく開発するために
06-01 他のプログラムファイルを使う [PEAR ]
プログラムの再利用
他のプログラムファイルを使う

06-02 PEARライブラリ [PEARライブラリ]
PEARライブラリ
PEARライブラリを使う

07 PHPとWebアプリケーション
07-01 PHPとWebアプリケーション [PHPとApache]
Webプログラミングを始めよう
Apacheのインストール
PHPをApacheに組み込む
ブラウザからプログラムファイルを実行する
HTTP

07-02 HTMLとPHPスクリプト [HTMLとPHP]
はじめに
HTMLとPHPスクリプト
HTMLフォームからのデータを受け取る
ラジオボタンとチェックボックス
コンボボックス
ファイルのアップロード

07-03 クッキー [Cookie]
HTTPは非常に物忘れが激しい
クッキーとは
クッキーをやりとりする
クッキーを削除する

07-04 PHPによるアクセス認証 [認証]
いろいろな認証
BASIC認証
PHPプログラムでBASIC認証をおこなう

07-05 PHPでのセッション管理 [セッション]
セッションとは
セッションとクッキー
PHPでセッションを使う
セッションに保存した値を削除する
セッションの有効期限を設定する
セッションを破棄する

07-06 PHPとJSON [JSON]
AjaxとJSON
PHPとJSON
JSONから配列やオブジェクに変換する
配列やオブジェクトからJSONに変換する

07-07 Webアプリケーションのセキュリティ [セキュリティ]
はじめに
クロスサイトスクリプティング脆弱性
なぜクロスサイトスクリプティング脆弱性は起こる?
クロスサイトスクリプティング脆弱性の対策法は?
まとめ

08 データベース
08-01 データベース「SQLite」 [SQLite]
データベースとは
テーブル・カラム・レコード
主キー - Primary Key
カラムの制約
Windowsで使えるオープンソースのデータベース
SQLiteとは
PHP5とSQLite
SQLiteManager
SQLiteManagerをインストールする
データベースを作成する
テーブルを作成する

08-02 SQL(Structured Query Language) [SQL文]
はじめに
データの基本操作
INSERT文
SELECT文
UPDATE
DELETE文
条件検索
あいまい検索
並べ替え
グルーピング
重複の取り除き
取得する件数の制限
範囲検索
トランザクション

08-03 PHPからのデータベース操作 [sqlite_open]
PHPプログラムからSQLiteを操作する
SQLiteを操作してデータを取り出す
SQLiteを操作してデータを登録・更新・削除する

08-04 データベースのセキュリティ [SQLインジェクション]
はじめに
SQLインジェクション
SQLインジェクションの対策法は?
まとめ

09 アプリケーションを作ってみよう
09-01 ミニミニブログを作る [ミニミニブログ ]
はじめに
ミニブログとは
Webアプリケーションとして見たミニブログ

09-02 ミニミニブログの機能概要 [機能概要]
ミニミニブログの機能を考える
ミニミニブログで使う技術について考える

09-03 ミニミニブログを作ってみよう [ディレクトリ]
ミニミニブログ用のディレクトリを用意する

09-04 メインページのHTMLを作成する [メインページHTML]
HTMLで画面サンプルを作る
ミニミニブログ画面のHTMLとCSSを確認する

09-05 データベース・テーブルの作成とテストデータの登録 [データベース]
ミニミニブログ用のデータベースを用意する
ミニミニブログ用のテーブルを作成し、テストデータを登録する

09-06 ミニミニブログ用テーブルについて [データテーブル]
ミニミニブログで使うテーブルの構成

09-07 友達一覧を作る [友達一覧]
友達一覧を実現する処理を考える
友達一覧で使うSQLを考える
HTMLにプログラムを埋め込む

09-08 投稿一覧を作る [投稿一覧]
投稿一覧を実現する処理を考える
投稿一覧で使うSQLを考える
投稿一覧を実現するプログラムを追加する

09-09 投稿機能の実装 [投稿機能]
投稿機能を実現する処理を考える
データ登録後のリダイレクト処理
投稿機能で使うSQLを考える
投稿機能を実現するプログラムを追加する

09-10 ページめくり機能を追加する [ページめくり機能]
ページめくり機能の処理を考える
2ページ目に表示するのは何件目から何件目?
前のページや次のページがあるかどうかの判断
ページめくり機能のプログラムをHTMLに追加する

09-11 ユーザー認証機能の追加 [ユーザー認証]
ユーザー認証機能の処理を考える
ユーザー認証をおこなうプログラムを追加する

09-12 友達登録機能を追加する [友達登録機能]
友達追加機能の処理を考える
「友達登録する」リンクを表示する処理を考える
データベースに友達情報を登録する処理を考える
友達追加機能のプログラムを追加する

09-13 セキュリティ対策 [セキュリティ]
何か忘れていませんか?
セキュリティ対策用の関数を用意する
セキュリティ対策用の関数をindex.phpから利用する
データのセキュリティ対策
データベースファイルのセキュリティ対策

09-14 リファクタリングする [リファクタリング]
リファクタリング
リファクタリングの方針を考える
データベースアクセスに関するプログラム
用語単位に分けたプログラム
ミニミニブログの機能単位に分けたプログラム
リファクタリング後のindex.php
まとめ