パート 1 PHP 5 の基礎
第 1 章 PHP 5 の概要 3
1.1 PHP 3 とは
1.1.1 PHP 3 の歴史
1.1.2 PHP 4 の利点
1.3 PHP Spirit 5。
1.1.4 PHP と Web 2.0 6
1.2 PHP 5 の新機能 6
1.2.1 新しいオブジェクト指向モード 7
1.2.2 新しいオブジェクト指向機能 7
1.2.3 その他の新機能 10
1.3 PHP 5 拡張ライブラリ 11
1.3.1 XML 拡張 12
1.3.2 SPL 13
1.3.3 MySQLi 拡張 13
1.3.4 PDO データベース抽象化レイヤー 13
1.3.5 JSON 拡張 13
1.4 PHP 5 外部拡張ライブラリ 14
1.4.1 PECL 拡張 14
1.4.2 PEAR 拡張 14
1.5 PHP 5 のその他のアップデート 14
1.5.1 Zend Engine 2.0 1 4
1.5.2 新しいメモリManager 14
1.5.3 Zend Optimizer および Zend Core 14
1.6 PHP および Web サーバー 15
1.6.1 Apache 15
1.6.2 Microsoft IIS 15
1.6.3 その他の Web サーバー 15
1.7 PHP 5インストールと設定 15
1.7.1 Win32 プラットフォームでの Apache 環境のインストール 16
1.7.2 Win32 プラットフォームでの IIS 環境のインストール 36
1.7.3 Win32 プラットフォームでの統合インストールパッケージの使用 39
1 40
1.7.5 Linuxプラットフォーム 47
1.8 PHPの構成と予備的な最適化 49
1.9 注意すべきその他の問題 49
1.10 PHP開発ツール 50
1.11 まとめ 53
第2章 PHP 5開発の基礎 54
2.1 最初のPHPスクリプト 54
2.2 変数と式 55
2.2.1 変数の印刷と出力 55
2.2.2 配列とオブジェクトの表示 57
2.2. 3 変数データの精度 58
2.2.4 変数変数 59
2.2.5 スーパーグローバル変数配列 59
2.2.6 変数のスコープ 64
2.3 変数の型 64
2.3.1 ブール変数 64
2.3.2 NULL データ型 65
2.3.3 リソース65
2.3.4 静的変数 66
2.4 変数演算子 66
2.4.1 算術演算子 67
2.4.2 代入演算子 67
2.4.3 文字列演算 68
2.4.4 前置および後置の加算および減算操作68
2.4.5リファレンスオペレーター69
2.4.6元元オペレーター69
2.4.7比較演算子69
2.4.8ブールオペレーター70
2.4.9ビットオペレーター70
2.4.10その他のオペレーター70
2.4.11 変数とスクリプト処理 71
2.4.12 データ変換 72
2.5 量 74
2.5.1 定数の定義 75
2.5.2 PHPマジック定数 75
2.6 PHP制御構造 76
2.6.1 分岐ステートメント 76
2.6.2 ループ構造 79
2.7 制御を含む 8 3
2.7.1 include および require 83
2.7.2 include_once および require_once 84
2.7.3 eval() 84
2.8 関数 85
2.8.1 PHP 内部関数 85
2.8.2 スクリプトの実行を中止する: ex it() および die() 85
2.8.3 ユーザー定義関数 86
2.8.4 関数の名前付けルール 86
2.8.5 関数スコープ 87
2.8.6 関数からの戻り値 87
2.8.7 参照値を返す 88
2.8.8 関数パラメータの転送 89
2.8.9 関数内の静的変数 91
2.8.10 関数の再帰 92
2.8.11 関数名の重複の解決方法 92
2.8.12 独自の関数ライブラリの作成 92
2.9 文字列操作 92
2.9.1 一重引用符と二重引用符の違い 92
2.9.2 文字列データの手動エスケープ 93
2.9.3 文字列データの自動エスケープ 93
2. 94
2.9.5 文字列のソート 96
2.9.6 文字列のフォーマット 96
2.9.7 文字列の分割 96
2.9.8 文字列のインターセプト 97
2 .9.9 文字数のカウント 文字列の長さ 98
2.9.10 文字列ワード統計 98
2.9.11 文字列検索 99
2.9.12 文字列処理 101
2.10 日付と時刻 106
2.10.1 タイムスタンプ 107
2.10 2 PHP 日付関数 107
2.10.3 P HP時間機能 109
2.11 ネットワーク関連の処理 112
2.11.1 header()関数 112
2.11.2 URL文字列の処理 114
2.11. 3 ユーザーソースの取得 116
2.11.4 PHP環境情報の取得 117
2.1 2 まとめ 117
第 3 章 正規表現 118
3.1 正規表現の概要 118
3.2 正規表現関数 118
3.3 POSIX 正規表現 119
3.3.1 ^ ロケーターと $ ロケーター 119
3.3.2 POSIX 数量子119
3.3 .3 角括弧式 120
3.3.4 事前定義された文字クラスター 121
3.3.5 POSIX 正規表現関数 121
3.4 PCRE 正規表現関数 123
3.4.1 PCRE 文字クラス 123
3.4.2 PCRE マッチング 123
3.4.3 PCRE正規表現関数 124
3.5 正規表現VS関数 130
3.6 BBCodeの作成 130
3.7 まとめ 131
第4章 PHP配列 132
4.1 配列とは 132
4.2 配列の種類133
4.2.1 数値インデックス配列 133
4.2.2 連想配列 133
4.3 配列の構築 134
4.3.1 1次元配列 134
4.3.2 2次元配列と多次元配列 135
4.3.3 多次元配列 140
4.4 配列を素早く作成する 142
4.4 .1 range() 関数を使用する 142
4.4.2 配列にデータを追加する 143
4.4.3 配列の内容を変更する 143
4.5 配列の内容にアクセスして処理する 143
4.5.1 数値インデックス配列のソート 143
4.5.2 連想配列のソート 1 44
4.5.3 shuffle() と
4.5.3 array_rand() をランダムに抽出する配列 145
4.5.4 配列要素の出現数を数える 146
4.5.5 配列の結合 147
4.5.6 配列にキー名が存在するかどうかを調べる 147
4.5.7 配列の値が存在するかどうかを調べる147
4.5.8 配列内の数値要素の合計を計算する 148
4.5.9 配列内の重複する要素値を削除する 148
4.5.10 配列の内部ポインタを移動する 149
4.5.関連付けられた配列のキー名を取得する 150
4.5.12 配列のキー名と要素にアクセスする 150
4.5.13 配列の型を決定する 150
4.5.14 配列の内容と構造を表示する 151
4.5.15 配列から削除 指定した要素 153
4.5.16 配列の先頭に要素を挿入 153
4.5.17 配列の任意の位置に要素を挿入 154
4.5.18 配列の統計要素 count() と sizeof()
4.5.18 関数 155
4.5.19 配列のキー名と値を交換する array_flip()
4.5.19 関数 155
4.5.20 配列要素のグループ統計 array_values()
4.5.20 関数 155
4.5.21 配列の最初と最後の要素を削除する 156
4.5.22 配列の任意の位置の要素を削除する 157
4.5.23 配列の内容を変数抽出にエクスポートする()
4.5.23 関数 159
4.6 配列の走査 (foreach を使用) 159
4.6.1 1 次元のインデックス配列の走査 160
4.6.2 1 次元の連想配列の走査 160
4.7 に使用配列を走査するステートメント 161
4.8 for ステートメントの使用 ツリーメニューの実装 162
4.9 配列走査 list() と each() 164
4.10 配列リセットreset() 関数 164
4.10.1 each() 164
4.10 .2 list() 165
4.11 foreach 配列処理の for ステートメントとの比較 165
4.12 配列コンテンツのフィルタリング 166
4.13 概要 168
パート 2 PHP 5 コア アプリケーションと仕様
第 5 章 フォーム - ユーザー入力の処理 170
5.1 フォームとHTML 170
5.2 フォームのデザイン 170
5.3 GETとPOSTの違い 171
5.4 フォーム要素 172
5.5 フォームの処理方法 174
5.5.1 フォーム送信元の確認 174
5.5.2 完全なフォーム処理 175
5.6 フォームを処理するその他の方法 177
5.6.1 import_request_variables()
5.6.1 関数を使用する 177
5.6.2 extract() 関数を使用する 178
5.7 179
5.8 検証フォームデータ 179
5.8.1 クライアント側の検証 179
5.8.2 サーバー側の検証 180
5.8.3 フォームの繰り返し送信の回避 180
5.8.4 フォームの有効期限の処理 181
5.8.5 フォームアクションの決定 ヒント 182
5.9 フォームセキュリティ 183
5.9.1 グローバルエラーの処理 183
5.9.2 SQL インジェクションの防止 186
5.10 安全なコードの開発 187
5.10.1 ユーザー入力検証 187
5.10.2 高度なデータ検証: ctype の使用 187
5.10.3 データフィルタリング - PECL フィルター拡張機能 187
5.10.4 input_get() 関数 189
5.10.5 パス検出 189
5.10.6 マジッククォート magic_quotes_gpc 190
5.10.7 その他の効率的なソリューション 190
5.11 概要 191
第 6 章 PHP 暗号化テクノロジ 192
6.1 MD5 アルゴリズム 192
6.2 SHA1 アルゴリズム 192
6.3 Cracklib 拡張ライブラリ 193
6 .4 mcrypt 拡張機能と DES アルゴリズム 193
6.4.1 mcrypt 暗号化拡張 194
6.4.2 mcrypt 暗号化モード 194
6.4.3 mcrypt 初期化ベクトル 195
6.4.4 mcrypt 暗号化および復号化メソッド 195
6.5 概要 197
第 7 章 PHP インターナショナル化とローカリゼーション 198
7.1 I18N および L10N 198
7.2 文字セットとエンコーディング 198
7.2.1 ASCII 文字セット 199
7.2.2 ISO-8859 文字セット 19 9
7.2.3 ANSI コード 199
7.2。 4 GB2312 および GBK エンコーディング 199
7.2.5 Unicode 文字セット 200
7.2.6 ファイルエンコーディングの正しい使用 201
7.3 gettext 関数 201
7.3.1 gettext の設定 202
7.3.2 php_gettext 関数セット 202
7.3.3 I18N プログラムの作成 202
7.3.4 gettext po ファイルの設定 203
7.4 システムローカリゼーション関数ファミリー 205
7.4.1 setlocale 関数 205
7.4.2 通貨値のローカリゼーション 206
7.4.3 PC の使用_format_currency () 関数 207
7.5 Iconv 関数 208
7.6 mbstring 拡張ライブラリ 209
7.6.1 文字列インターセプトにmbstringを使用する 209
7.6.2 文字列エンコーディングの検出 210
7.6.3 mbstring変換エンコーディング 210
7.7 まとめ 211
第8章 PHP開発仕様 212
8.1 コード構造 212
8.1 .1 1 つのスクリプト サービス 212
8.1.2 個別の表示ロジック 213
8.2 適切なコーディング スタイルとスタイル 213
8.2.1 コードのコメント 214
8.2.2 コードのインデント 2 14
8.2 3. 必要なスペースを使用します。
8.2.8 エラーを減らすためのヒント 217
8.3 概要 217
第 9 章 PHP 5 オブジェクト指向開発 218
9.1 オブジェクト指向の基本 218
9.2 PHP 5 オブジェクト指向プログラミングの概要 219
9.2。 1 クラス パッケージ 219
9.2.2 クラスの継承 219
9.3 オブジェクト 219
9.4 クラスの作成と使用 220
9.5 クラスの構造と定義 220
9.6 メンバーメソッド 220
9.7 メンバー変数と属性 2 21
9.8 $this キーワード 222
9.9 構築メソッド 222
9.10 デストラクターメソッド 223
9.11 クラスの継承とポリモーフィズム 224
9.11.1 クラスの継承 - 拡張 224
9.11.2 データの隠蔽 226
9.11 .3 アクセスに関する制約メンバー変数 226
9.11.4 アクセスメンバーメソッドの設定 227
9.11.5 クラス定数 228
9.11.6 静的メンバー変数 228
9.11.7 静的メンバーメソッド 230
9.12 オブジェクト転送 230
9.1 3 クローンを作成しますobject— —clone 230
9.14 オブジェクトの比較 231
9.15 オブジェクト型の検出 -instanceof 232
9.16 メンバーメソッドのクローン作成 232
9.17 クラス多態性 233
9.18parent:: と self:: キーワード 234
9.19 要約メソッドと抽象クラス 235
9.20 インターフェースの実装 237
9.21 複数のインターフェースの実装 238
9.22 最終メソッド 240
9.23 最終クラス 240
9 .24 例外と例外処理 241
9.25 クラスの型を宣言するメソッド242
9.26 オーバーロードとポリモーフィズム 242
9.27 マジックメソッド 243
9.27.1 __get() および __set() メソッド 243
9.27.2 __call() メソッド 244
9.27.3 __sleep() および__ウェイクアップ()メソッド 245
9.27.4 __toString() メソッド 245
9.27.5 __autoload() メソッド 246
9.28 クラスマッピング API リフレクション 247
9.2 9 概要 253
第 10 章 PHP セッション管理 254
10.1 概要 254
10.2 Cookie管理 254
10.2.1 Cookieとは 254
10.2.2 Cookieの仕組み 255
10.2.3 Cookieアプリケーション開発 255
10.2.4 一般的なCookieクラス 259
10.2.5 ソリューション 26 0
10.3 セッション管理 261
10.3.1 セッションとは 261
10.3.2 セッション構成 262
10.3.3 セッションアプリケーション 2 63
10.3.4 セッションのエンコードとデコード 267
10.3.5 セッション内の配列の保存267
10.3.6 セッション内のオブジェクトの保存 268
10.3.7 セッションアクセスの最適化 270
10.3.8 複数のサーバーでのセッションの共有 271
10.3.9 セッションセキュリティ 274
10.4 まとめ 275
第11章 PHP入力および出力バッファリング 276
11.1 バッファリングテクノロジーの概要 276
11.2 バッファからのコンテンツの読み取り 277
11.3 コールバック関数の使用 278
11.4 出力コールバック関数 278
11.5 圧縮コンテンツの出力 279
11.6 概要 279
第12章 ファイルシステムと文字ストリーム 280
12.1 ファイルとパス 280
12.1.1 ファイルの名前と拡張子の分析 28 0
12.1.2 PHP現在の
12.1.2パスを解析する機能が付いています 281
12.1.3 相対パスの実パスを表示します 281
12.2 ファイルタイプと関連情報 281
12.2.1 filesize() - サイズを計算しますファイル 282
12.2.2 ファイルの作成、最終アクセス、更新を取得します
12.2.2 時刻 282
12.2.3 fileperms()—— ファイル属性と
12.2.3 権限 282
12.2。 4 ファイル所有者の取得(Owner) 282
12.3 ファイルの逐次読み取りと書き込み 282
12.3.1 ファイルのオープンと書き込み 282
12.3.2 ファイル出力 284
12.3.3 ファイル内容の読み取り 285
12.4 なしファイルのリニア読み取りと書き込み 285
12.4.1 fseek() 関数 286
12.4.2 ftell() 関数 286
12.4.3 rewind() 関数 286
12.4.4 parse_ini_file() 関数 287
1 2.5 カスタマイズされたログ 288
12.6 ディレクトリとディスクの操作 288
12.6.1 disk_free_space() - 特定の
12.6.1 ディレクトリの残りのスペースをカウントします 288
12.6.2 disk_total_space() - 論理
を表示します12.6.2 ディスク容量 289
12.6.3 getcwd()/chdir() 関数 289
12.6.4 opendir() および readdir() 関数 289
12.6.5 イテレータインターフェースのディレクトリ読み取りの実装 290
12.7 文字ストリーム 291
12.7 .1 ストリームとラッパーの原理 292
12.7.2 PHP 5 のプリセットストリームラッパー 292
12.7.4 ストリームとラッパーの応用 293
12.7.5 フィルターとその応用 295
12.7 .6ストリーム関連関数 296
12.7.7 独自のストリームフィルターの作成 298
12.8 HTTPS 暗号化コンテンツの取得 299
12.9 独自のストリームラッパーの作成 300
12.10 まとめ 301
パート 3 MySQL 5 および PHP 5 インターフェイス
章13 Web データベースの設計 303
13.1 データベースとデータベース システムの概念 303
13.2 データベース設計の手順 304
13.3 テーブル名とフィールド名のルール 305
13.4 概要 3 06
第 14 章 MySQL 5 データベース 307
14.1 MySQL の概要 307
14.2 MySQL 5 の機能 308
14.2.1 MySQL 5 の利点 308
14.2.2 MySQL 5 の欠点 308
14.2.3 MySQL 5 のパフォーマンス 308
14.3 MySQL データベースのストレージタイプ309
14.4MySQLフィールドタイプ 310
14.5 MySQL キャラクタセットと構成 311
14.5.1 MySQL 5 キャラクタセットサポートの原則 311
14.5.2 MySQL キャラクタセットメソッドの変更 311
14.6 MySQL 5 アプリケーションと管理 312
14.6 .1 MySQL にログインする 312
14.6.2 root 管理パスワードを変更する 313
14.6.3 データベースを作成する 313
14.6.4 データベースのストレージパスを変更する 313
14.6.5 MySQL 権限システム 314
14.6.管理ツール 317
14.7 MySQL 管理ツール 324
14.8 概要 324
第 15 章 MySQL データベースのデータ操作 325
15.1 MySQL の操作と SQL 325
15 .2 テーブル内のデータの取得 328
15。 2.1 SELECT 文328
15.2.2 SELECT 集計関数 329
15.2.3 結果セットの並べ替え 329
15.2.4 関数 329
15.2.5 関連クエリ 329
15.3 高度な SQL テクノロジ 331
15.3.1 主キー331
15.3.2 サブクエリ 332
15.3.3 ユニオンクエリ 332
15.4 MySQL トランザクション処理とトリガー 332
15.4.1 ストアドプロセス 332
15.4.2 トリガー 333
15.4.3 ビュー 333
15.4。 4 PHP および MySQL の文字セット 334
15.5 概要 335
第16章 PHP および MySQL データベースインターフェイス 336
16.1 PHP5 および MySQL 接続用の MySQL 拡張機能 336
16.2 データベースクエリ 337
16.3 レコードセットを表示するためのその他の関数 339
16.4 PHP 5 と MySQL 新しいインターフェイス MySQLi 342
16.5 MySQL 拡張機能のインテリジェントな選択 351
16.6 概要 354
第 17 章 PHP データベース抽象化レイヤー 355
17.1 データベース抽象化レイヤーとは 355
17.2 一般的に使用されるデータベース抽象化レイヤー 356
17.2.1 PEAR:DB 356
17.2.2 ADODB 357
17.2.3 メタベース 357
17.2.4 MDB 358
17.2.5 MDB2 358
17.2.6 クレオール 359
17.2.7 PDO 359
17.2.8 PHPLib 359
17.3 PDOデータベース抽象クラス359
17.3.1PDOはじめに359
17.3.2PDOインストール360
17.3.3PDO接続データベース360
17.3.4PDOクエリ361を使用
17.3.6 クエリ結果の取得 36417.4 ADODB 36817.4.1 ADODBの使用 36817.4.2 ADODBのインストール 36917.4.3 ADODBの起動 36917.4.4 ADODBのクエリメソッド37017.4。 5 モバイルレコードセット 37017.4.6 ADODB を使用して HTML を生成する 37117.4.7 ADODB をページングに使用する 37117.4.8 ドロップダウン選択メニューを生成する 37117.4.9 ADODB 開発例 37117.5 phplib Smarty とテンプレートテクノロジー 38818.1 MVC の概要 38818.2 テンプレートシステム 38918.3 Smarty の概要 38918.3.1 Smarty の利点 38918.3.2 Smarty 開発機能 39018.4 Smart y 390をインストールする
18.5 Smarty 開発の基本 39218.5.1 最初のテンプレートプログラム 39218.5.2 コンパイルされたテンプレート 39318.5.3 Smarty ブロック 39418.5.4 Smarty アノテーション 39418.5.5と変数の書式設定394
18.6 Smarty 制御構造 39718.6.1 IF 分岐構造 39718.6.2 ループ構造 39918.6.3 Smarty がフォーム要素を生成する 40718.6.4 Smarty ファイルには 409 が含まれる18.7 スマーティキャッシュ 410 18.8 Smarty 開発の詳細 41018.8.1 register_function 41018.8.2 register_block 41118.8.3 register_modifier 41118.8.4 テンプレート内での PHP コードの実行 411 18 .8.5 いくつかの重要なテンプレート修飾子412 18.8.6 Smarty の予約変数 41318.8.7 テンプレート設定ファイル 41418.8.8 Smarty ワークベンチ 41418.8.9 Smarty が静的ページを生成する 41518.8.10 オンラインカレンダーの作成18.8 11 Smarty と ADODB 41618.9 概要 418第 19 章 PHP と Ajax テクノロジ 41919.1 Ajax の概要 41919.2 Ajax の機能 42019.3 Xaj ax 420 の概要19.4 Xajax の仕組み 420 19.5 非同期更新内容 42119.6 フォームデータの非同期処理 42319.7 カスタム関数の追加 42419.8 文字化けの解決 42419.9 SmartyとXajax 42419.10 まとめ426第 20 章 PHP を使用してシェルを作成する 427 20.1 概要 42720.2 PHP CLI シェルスクリプト 42720.2.1 CLI と CGI の違い 42720.2.2 CLI 設定パラメータ 42720.3 PHP コマンドラインインターフェイス (CLI) 428
20.4 CLIコマンドオプション 429
20.5 CLI開発 430
20.6 CLIの実用化 434
20.7 まとめ 437
第21章 PHPネットワーク開発 438
21.1 ソケットテクノロジー 438
21 .1.1 ソケットの原則 438
21.1 。 2 接続を確立する 439
21.1.3 リクエストを送信する 439
21.1.4 Whois情報をクエリする 440
21.1.5 独自のソケットサーバーを作成する 441
21.2 電子メールを送信する 442
21.2.1 電子メールの概要 442
21.2 .2 MTA と SMTP 442
21.2.3 PHP メール設定 443
21.2.4 電子メールヘッダー 444
21.2.5 MIME 444
21.3 mail() 関数の使用 446
21.4 ソケットを使用した電子メール送信 448
21.5 リモートコンテンツの取得と自動化 449
21.5.1 CURLの使用 449
21.5.2 Snoopyクラスの使用 451
21.5.3 FTP操作 453
21.5 .4 PHPとネットワークプロトコル 455
21.6 まとめ455
第 22 章 PHP ファイルのアップロード 456
22.1 ファイルアップロードの概要 456
22.2 アップロードされたファイルの処理 457
22.3 複数のファイルアップロードの処理 461
22.4 アップロードメモリ制限の突破 463
22.5 概要 463
第23章 画像とメディア処理 464
23.1 GD2 拡張ライブラリを使用する 464
23.1.1 画像を開く 465
23.1.2 任意の形式で画像を開く 465
23.1.3 画像の表示と保存 466
23.1.4 画像変換 467
23.1.5 テキスト画像の作成 468
23.1.6 グラフィックの描画 469
23.1.7 認証コードの作成 - CAPTCHA 470
23.1.8 サムネイル画像処理 471
23.1.9 ウォーターマーク画像の作成 473明を使用するFlash を作成するための拡張子 475
23.2.1 ボタンの作成 475
23.2.2 静的テキスト 476
23.2.3 動的テキスト 477
23.2.4 グラフィックの描画 478
23.2.5 画像の使用 479
2 3.3 ImageMagick を使用する480
23.3.1 ImageMagick の概要 480
23.3.2 ImageWand のインストール481
23.3.3 画像コンテンツの読み取り481
23.3.4 画像サイズの読み取り482
23.3.5 画像のトリミング482
23 .3.6 生成画像のサムネイル 482
23.3.7 画像形式の変換 483
23.3.8 画像の回転の制御 483
23.3.9 画像のサイズ変更 484
23.3.10 レンダリング効果の追加 484
23.3 11 JPEG 画像の圧縮 485
23.4概要 485
第 24 章 XML と RSS 486
24.1 XML 486
24.1.1 XML の構造と定義 486
24.1 .2 XML と HTML 487
24.2 XML ドキュメントの作成と解析488
24。 2.1 の作成XML ドキュメント 489
24.2.2 SAX を使用した XML の解析 490
24.2.3 DOM 492
24.2.4 SimpleXML 496
24.3 RSS の集約と解析テクノロジ 497
24.3 1 RSS 497 の概要
24.3。 2 RSS 0.9 497
24.3.3 RSS3 1.0 498
24.3.4 RSS 2.0 499
24.3.5 Atom 501
24.4 XML リーダー 503
24.5 XML および Smarty 504
24.6 概要 504
第 25 章 ウェブサービスと SOAP 505
25.1 Web サービス 505
25.1.1 Web サービスの概要 505
25.1.2 Web サービスの特性 506
25.2 SOAP メッセージ本体 507
25.2. 1 SOAP エンベロープ 507
25.2.2 SOAP ヘッダー 507
25.2.3 SOAP 障害 507
25.2.4 メッセージ本文 508
25.3 PHP SOAP 設定内 508
25.4 PHP を使用した SOAP アプリケーションの開発 509
25.4.1 WSDL 509
25.4.2 SOAPサーバーの確立 512
25.4.3 SOAPクライアントの確立 513
25.5 まとめ 513
第26章 PHPとWAPテクノロジ 514
26.1 WAPテクノロジの概要 514
26.2 WAP構成514
26.3 WAPページ514
26.3.1 WAPページの紹介 515
26.3.2 WAPページのジャンプ 515
26.3.3 WAPを使用したログインページの作成 517
26.4 SmartyとWAP 521
26.5 まとめ 522
パート5 PHP5デバッグ、アップグレード、最適化
第 27 章 エラーと例外処理 524
27.1 概要 524
27.2 エラーの種類 524
27.2.1 プログラミングエラー 524
27.2.2 未定義のシンボル 52 5
27 .2. 3 軽量エラー 527
27.2.4 PHPによって生成されるエラー 528
27.2.5 エラーと例外処理 530
27.3 まとめ 535
第28章 PHP5へのアップグレード 53 6
28.1 概要 536
オブジェクト参照 536
28.3 オブジェクトの構築537
28.4 get_class 関数 537
28.5 is_a() 関数とインスタンス 537
28.6 E_STRICT 538
28.6.1 オブジェクトを自動的に作成する 538
28.6.2 var と public 538
28.7 その他の互換性の問題 538
28.7.1 コマンドラインインターフェース 538
28.7.2 古いスーパーグローバルアレイのアップグレード 538
28.7.3 機能修正と機能アップグレード 539
28.8 まとめ 539
第 29 章 PHP 最適化スキル 540
29.1 PHP スクリプトレベルの最適化 540
29.1.1 require は require_once より高速です 541
29.1.2 ホイールを繰り返さない 541
29.2 コード最適化ツールを使用する 542
29.3 キャッシュの高速化 543
29.3 .1 eAccelerator を使用する43
29.3.2 APC の使用 545
29.4 HTTP アクセラレーション 546
29.4.1 HTTP ヘッダー情報 546
29.4.2 GZIP コンテンツ圧縮の有効化 546
29 .5 MySQL パフォーマンスの最適化 546
29.5.1 インデックスの追加 546
29.5.2 MySQL キャッシュとパフォーマンスのチューニング 547
29.6 MySQL ログのメンテナンス 549
29.7 データベースの外部最適化 549
29.7.1 サーバーハードウェアの最適化 549
29 .7.2 ディスクの最適化 550
29.7.最適化550
29.8 リバースプロキシの使用 550
29.9 Apache サーバーの最適化 551
29.10 コンテンツの圧縮と最適化 551
29.11 分散と負荷分散 552
2 9.12 概要 554
パート 2 PHP5
第30章 開発例:会員登録システム 557
30.1 概要 557
30.2 ページプロセス 557
30.2.1 ユーザー登録プロセス 557
30.2.2 ユーザーログインプロセス 558
30.3 データベース構造 558
30.4 UIおよびインターフェース 561
30.5 ディレクトリ構造とファイルの説明563
第31章開発:サークルシステムの開発571
31.1ディレクトリ構造とファイルの説明3 他の人が作成したサークルに参加する 573
31.3 データベース構造 573
31.4 UI とインターフェース 576
第 32 章 開発例: Aiwen システム 578
32.1 概要 578
32.2 ページフロー 578
32.3ファイルの説明 580
32.4 UIとインターフェース 581
32.5 データベース構造 585
第33章 開発例: マルチユーザーブログシステム 587
33.1 概要 587
33.2 ディレクトリ構造とファイルの説明 587
33.3 ページフロー 588
33.4 UIおよびインターフェース 588
33.5 データベース構造 589
33.6 概要 591
付録 A PHP オンラインリソース 592
付録 B Zend Core のインストール 593
付録 C PHP 拡張機能の開発 599
付録 D MySQL の文字セットと構成 601
付録 E コードページと文字セットの比較表 605
付録 F php.ini 設定の詳細 606
付録 G HTTP リターンコード表 (RFC2068) 626