PHP逆引き大全 516の極意

PHP逆引き大全 516の極意
著者 大家正登
茂木健一
鮫島康浩
谷中志織
ジャンル IT系書籍 > プログラミング言語
シリーズ 逆引き大全
書店発売日 2011/09/23
ISBN 9784798030937
判型・ページ数 A5・824ページ
定価 3080円
(本体2800円+税10%)
在庫 品切れ・重版未定
その他 10xEngで読むことができます

この本に関するお問い合わせ・感想

PHPの基本から拡張モジュールやライブラリ群の使い方まで、困ったときにすぐ引ける逆引きリファレンス書です。PHPは自由度と文法の扱いやすさからプログラミング初級者から中・上級者まで幅広く利用されているプログラミング言語です。手軽に扱えるライブラリが多くなった近年では、ハイレベルな知識とテクニックが要求されるようになり、要求を実現するためのライブラリを知っていることが重要なスキルのひとつになっています。本書は、初心者から中・上級者の役に立つPHPの基本からネットワークプログラミング、セキュアプログラミング、マッシュアップやテストまで全516項目のテクニックを解説。サンプルプログラムのダウンロードサービスも付いています。

【サポートはこちら】https://www.shuwasystem.co.jp/support/7980html/3093.html
第1章 基本プログラミングの極意
1-1 基本プログラミング
001 PHPコードの記述方法を理解する
002 変数の命名規則を理解する
003 変数の型を理解する
004 定義済みの変数を理解する
005 定数の定義方法を理解する
006 定義済みの定数を理解する
007 エスケープシーケンスを理解する
008 四則演算を理解する
009 代入演算子を理解する
010 複合演算子を理解する
011 加算子・減算子を理解する
012 ビット演算子を理解する
013 比較演算子を理解する
014 論理演算子を理解する
015 三項演算子を理解する
016 文字列を結合する
017 エラー制御演算子を理解する
018 コマンドを実行する
019 演算子の優先順位を理解する
020 コメントを書く
021 if文を理解する
022 switch文を理解する
023 while文を理解する
024 do...while文を理解する
025 for文を理解する
026 foreach文を理解する
027 ループ制御方法を理解する
028 インクルードファイルを取り込む
029 インクルードファイルを1度だけ取り込む
030 可変変数を使用する
031 リファレンスを理解する
032 関数を理解する
033 変数のスコープを理解する
034 静的変数を宣言する
035 引数を参照渡しで指定する
036 引数のデフォルト値を指定する
037 可変長引数の関数を宣言する
038 可変関数を実行する
039 無名関数を宣言する
1-2 配列
040 配列を作成する
041 配列の値を別々の変数に格納する
042 配列の先頭の要素を削除する
043 配列の末尾の要素を削除する
044 配列の先頭に要素を追加する
045 配列の末尾に要素を追加する
046 配列から連続した要素を取り出す
047 配列の要素を置換する
048 配列の要素をランダムに取得する
049 配列の要素数を調べる
050 配列の要素の出現回数を調べる
051 配列の内部ポインタを操作する
052 配列の全てのキーを取得する
053 配列の全ての値を取得する
054 配列のキーの大文字小文字を一括変換する
055 配列のキーと値のペアを取得する
056 配列のキーと値を逆転する
057 配列の値を指定した値で埋める
058 配列の要素の値を合計する
059 配列から重複する値を持つ要素を取り除く
060 配列の要素を検索する
061 ユーザ関数を使って複数の配列を操作する
062 ユーザ関数を使って配列の特定の要素を抽出する
063 ユーザ関数を使って配列の要素を集約する
064 ユーザ関数を使って配列の要素を操作する
065 複数の配列の要素の違いを調べる
066 ユーザ関数を使って複数の配列の要素の違いを調べる
067 複数の配列の共通する要素を調べる
068 複数の配列を一つの配列に併合する
069 配列の要素の順序を逆転する
070 一定範囲の整数を値とする配列を作成する
071 配列の要素をシャッフルする
072 配列をキーでソートする
073 配列を値でソートする
074 配列を自然順でソートする
075 配列のキーと値の関係を維持しながらソートする
076 ユーザ関数を使って配列をソートする
077 複数の配列を関連付けてソートする
078 複数の変数を連想配列にまとめる
079 連想配列を複数の変数に展開する
080 配列かどうか調べる
081 配列の要素を連結して文字列にする
082 文字列を分割して配列にする
083 配列を分割する
084 二つの配列から連想配列を作成する
1-3 文字列
085 データをバイナリ文字列に変換する
086 バイナリ文字列からデータを切り出す
087 文字列を16進数に変換する
088 文字をASCIIコードに変換する
089 ASCIIコードを文字に変換する
090 文字をエスケープする
091 エスケープされた文字を元に戻す
092 文字列の最初か最後の空白文字を取り除く
093 文字列を任意の文字数で改行する
094 文字や文字列の出現回数を調べる
095 文字列を暗号化する
096 文字列を出力する
097 文字列を書式に従って整形する
098 文字列を書式に従って整形して出力する
099 書式に従って文字列を分解する
100 クエリ文字列を分解する
101 文字列を比較する
102 特定の文字列以降の文字列を取得する
103 特定の文字が含まれている部分の長さを調べる
104 特定の文字が含まれていない部分の長さを調べる
105 特定の文字列が現れる位置を調べる
106 文字列の長さを調べる
107 文字列を指定した長さまで特定の文字で埋める
108 文字列を反復する
109 文字列を逆転する
110 文字列をトークンに分割する
111 文字列を置換する
112 部分文字列を取得する
113 部分文字列を比較する
114 大文字・小文字を変換する
115 文字列をシャッフルする
116 文字列の類似性を調べる
117 単語の発音を文字列に変換する
118 数値のフォーマット情報を取得する
119 数値をフォーマットする
1-4 正規表現
120 正規表現の構文を理解する
121 正規表現によるパターンマッチを行う
122 正規表現による置換を行う
123 正規表現で文字列を分割する
124 正規表現文字をエスケープする
125 配列の要素を正規表現で検索する
1-5 マルチバイト文字
126 マルチバイト文字列を操作する
127 mbstringモジュールの基本設定を取得/設定する
128 文字エンコードを検出する
129 文字エンコードを変換する
130 カナを変換する
131 マルチバイト文字列の大文字・小文字を変換する
132 マルチバイト文字列を含むクエリ文字列を解析処理する
133 マルチバイト文字列を指定した文字幅に切り詰める
134 マルチバイト文字列の文字数を調べる
135 特定のマルチバイト文字が現れる位置を調べる
136 マルチバイト文字列の文字幅を調べる
137 マルチバイト文字列の部分文字列を取得する
138 マルチバイト文字列の中で部分文字列が出現する回数を数える
139 マルチバイト文字列で正規表現によるパターンマッチを行う
140 マルチバイト文字列で正規表現による置換を行う
141 マルチバイト文字列で正規表現による検索を行う
142 charset用の文字エンコード名を取得する
1-6 数学
143 数学定数を理解する
144 乱数を生成する
145 べき乗や平方根を計算する
146 小数を丸める
147 基底を変換する
148 最大値・最小値を求める
149 その他の数学関数を理解する
150 小数の精度を指定して計算する
1-7 日付
151 日付や時刻を取得する
152 日付をフォーマットする
153 タイムスタンプを取得する
154 日付をタイムスタンプに変換する
155 文字列表現の日付をタイムスタンプに変換する
156 日付が正しいかどうかチェックする
1-8 ディレクトリ
157 ディレクトリを作成する
158 ディレクトリを削除する
159 現在のディレクトリパスを取得する
160 現在のディレクトリパスを変更する
161 利用可能な容量を調べる
162 ディレクトリの内容を読み取る
1-9 ファイル
163 絶対パスを取得する
164 パスの親ディレクトリを取得する
165 パスのファイル名を取得する
166 ファイル情報をまとめて取得する
167 ファイル情報を個別に取得する
168 ファイルの属性を調べる
169 ファイルの属性を変更する
170 空のファイルを作成する
171 ファイルを削除する
172 ファイルをコピーする
173 ファイル名を変更する
174 ファイルが存在するかどうか調べる
175 ファイルの内容を一度に読み込む
176 ファイルの内容を読み取って出力する
177 ファイルを開く・閉じる
178 開かれているファイルをロックする
179 開かれているファイルから一文字読み取る
180 開かれているファイルから一行読み取る
181 開かれているファイルの内容を書式に従って読み取る
182 開かれているファイルに内容を書式に従って書き込む
183 バイナリファイルを読み取る
184 開かれているファイルの内容を一度に読み取る
185 開かれているファイルに書き込む
186 ファイルに書き込む
187 ファイルポインタの位置を調べる
188 ファイルの末尾に達したかどうか調べる
189 ファイルポインタを移動する
190 ファイルポインタをファイルの先頭に戻す
191 ファイルを指定したサイズに切り詰める
192 テンポラリファイルを作成する
193 他のファイルと重複しないファイル名を作成する
194 設定ファイルを解析する
195 ファイル名がワイルドカードにマッチするか調べる
196 ファイル名がワイルドカードにマッチするファイルを検索する
197 ストリームコンテキストを作成する
198 ストリームに関する情報を取得する
199 利用可能なストリームフィルター一覧を取得する
200 ストリームフィルターを追加する
1-10 変数
201 変数がセットされているかどうか調べる
202 変数の型を取得する
203 変数の型を調べる
204 変数の値を任意の型に変換する
205 変数を任意の型で評価する
206 変数を任意の型に変更する
207 変数を破棄する
208 定義されている変数の一覧を取得する
209 変数の内容をわかりやすく表示する
210 リソースの種類を調べる
1-11 関数
211 関数が定義されているかどうか調べる
212 定義されている関数の一覧を取得する
213 ユーザ関数を動的にコールする
214 匿名関数を作成する
1-12 情報
215 PHPの設定を出力する
216 PHPの設定を取得する
217 PHPの設定を一時的に変更する
218 PHPに関する情報を取得する
219 スクリプトに関する情報を調べる
220 拡張モジュールがロードされているかどうか調べる
221 拡張モジュールを動的にロードする
222 指定した拡張モジュールの関数一覧を取得する
1-13 外部プログラム
223 コマンドライン引数をエスケープする
224 コマンドを安全なコマンドにエスケープする
225 シェルコマンドや外部プログラムを実行する
1-14 エラー
226 エラー出力レベルを設定する
227 エラーメッセージの送信先を指定する
228 エラーを処理する関数を設定する
229 ユーザエラーを発生させる
230 実行された関数に関する情報を取得する
231 例外処理を使う
232 例外を発生させる
233 キャッチされなかった例外の処理を行う関数を設定する
1-15 クラス・オブジェクト
234 クラス・オブジェクト・インスタンスを理解する
235 クラスを定義する
236 クラスをインスタンス化する
237 コンストラクタを定義する
238 デストラクタを定義する
239 メソッドを定義する
240 プロパティを定義する
241 クラス内定数を定義する
242 静的な変数を定義する
243 静的なメソッドを定義する
244 存在しないプロパティへのアクセスを制御する
245 存在しないメソッドへのアクセスを制御する
246 クラスを継承する
247 メソッドをオーバーライドする
248 抽象クラス・抽象メソッドを定義する
249 インターフェイスを定義する
250 クラスを自動的に読み込む
251 オブジェクトをコピーする
252 クラスやメソッドが定義されているかどうか調べる
253 定義されているクラス/メソッド/プロパティの一覧を取得する
254 オブジェクトのプロパティの一覧を取得する
255 オブジェクトが特定のクラスのインスタンスかどうかを調べる
256 オブジェクトを作成したクラスについて調べる
257 クラスの詳細を調べる
258 オブジェクトと文字列表現を相互変換する
1-16 その他
259 スクリプトの実行を終了する
260 スクリプトの実行を遅延させる
261 文字列をPHPコードとして評価する
262 スクリプトのソースを表示する

第2章 Webプログラミングの極意
2-1 HTML
263 HTMLの特殊文字を実体参照に変換する
264 HTMLの実体参照を文字に変換する
265 改行文字の前に改行タグを挿入する
266 HTMLタグを除いた文字列に変換する
2-2 情報
267 サーバ変数の値を取得する
268 スクリプトが終了した時に実行する関数を登録する
269 ユニークなIDを作成する
2-3 フォームデータ
270 フォームデータを取得する
271 受信したデータをグローバル変数に展開する
272 ファイルをアップロードする
273 チェックボックスの値を取得する
2-4 クッキー
274 データをクッキーに保存する
275 クッキーのデータを取得する
2-5 出力制御
276 出力バッファリングを有効にする
277 出力バッファのデータを出力する
278 出力バッファのデータを消去する
279 出力バッファのデータを取得する
280 出力バッファに関する情報を取得する
281 出力ハンドラ関数を使う
2-6 セッション
282 セッションを有効にする
283 セッションを開始する
284 セッション名を取得/設定する
285 セッションIDを取得/設定する
286 セッションデータを追加/変更/取得する
287 セッション変数に値が設定されているかどうか調べる
288 セッションデータを文字列表現に変換する
289 セッションの文字列表現をセッションデータに戻す
290 セッションクッキーのパラメータを取得する
291 セッションクッキーのパラメータを設定する
292 キャッシュリミッタを取得/設定する
293 セッションデータを保存してセッションを終了する
294 セッションを破棄する

第3章 データフォーマットの極意
3-1 XMLデータ操作(SimpleXML)
295 SimpleXMLの概要を理解する
296 XMLファイルをロードし、PHPのオブジェクトとして扱う
297 XMLを変数よりロードする
298 DOMノードをSimpleXMLElementオブジェクトに変換する
299 SimpleXMLElementオブジェクトから要素を抽出する
300 属性名を指定し、属性値を取得する
301 特定の要素の全ての属性情報を取得する
302 XPath構文を使用して要素にアクセスする
303 要素の値を変更し、変更後のXML文書を出力する
304 子ノードを取得する
305 子要素の数を取得する
306 要素名を取得する
307 XPathを使用して名前空間内の要素にアクセスする
308 プレフィックス指定で、特定の名前空間に属する子ノードを取得する
309 URL指定で、特定の名前空間に属する子ノードを取得する
310 名前空間情報を取得する
311 XPath使用時の名前空間プレフィックス名を新たに作成する
3-2 JSONデータ操作
312 PHPの配列・連想配列をJSON形式にエンコードする
313 オブジェクト形式のJSON文字列にエンコードする
314 特定の記号をエスケープし、JSON形式にエンコードする
315 JSON形式の文字列をデコードし、PHPのオブジェクトとして取得する
316 JSON形式の文字列をデコードし、PHPの連想配列として取得する
317 json関数のエラーコードを取得する
3-3 CSVデータ操作
318 CSVファイルを読み込む
319 CSVファイルに書き込む
3-4 YAMLデータ操作
320 Spycをインストールする
321 YAMLファイルを読み込む
322 YAML形式の文字列を出力する

第4章 ネットワークプログラミングの極意
4-1 PEAR HTTP
323 PEAR HTTPライブラリをインストールする
324 WebページにGETで情報を送信する
325 WebページにPOSTで情報を送信する
326 ベーシック認証やダイジェスト認証のかかってるサイトにアクセスする
327 簡単にファイルダウンロードサービスを行う
328 ファイルアップロード処理を行う
329 複数ファイルをアップロードする
4-2 PEAR FTP
330 FTPでファイル操作を行う
331 FTPサーバにログインする
332 ファイルをアップロードする
333 ファイルをダウンロードする
334 ディレクトリを一括でダウンロードする
335 ファイルやディレクトリを削除する
336 ファイルの最終更新日を取得する
4-3 PEAR Mail
337 PHP上でメールを簡単に扱う
338 メールを送信する
339 添付ファイルを含むメールを送信する
340 HTMLメールを送信する
341 受信したメール情報を取得する

第5章 画像・動画操作の極意
5-1 GD
342 GDのインストール情報を表示する
343 画像情報を取得する
344 サムネイル画像を生成する
345 メモリ上の画像データを直接ブラウザに表示する
346 線を描画する
347 四角形を描画する
348 多角形(ポリゴン)を描画する
349 円を描画する
350 2つの画像の合成
351 画像に文字を埋め込む
352 透過GIFをつくる
353 画像を回転させる
354 画像データをデータベースに格納する
355 EXIF情報を取得する
5-2 Imagemagick
356 Imagemagickをインストールする(Linux編)
357 Imagemagickをインストールする(Windows編)
358 サムネイルを生成する
359 画像を合成する
360 画像を回転させる
361 画像にエフェクトをかける
362 画像のコントラストを変更する
363 ガンマ補正をする
364 図形を描画する
365 画像の色を入れ替える
366 画像に文字を入れる
367 動的にGIFアニメーションを作る
5-3 FFmpeg
368 FFmpegのインストール(Linux編)
369 FFmpegのインストール(Windows編)
370 動画のプロパティを取得する
371 動画の1シーンを画像として保存する
372 動画形式を変換する

第6章 データベースの極意
6-1 PDO(PHP Data Object)の利用
373 PDOについて理解する
374 PDOを使うための準備をする
375 テスト用データベースを作成する
376 テスト用データベースの構造を理解する
377 データベースに接続する
378 利用可能なドライバ情報を取得する
379 文字コードを指定する
380 検索系SQLを発行し、検索結果を配列で取得する
381 検索系SQLを発行し、検索結果をオブジェクトで取得する
382 検索系SQLを発行し、結果セットを一括で取得する
383 結果セット取得時に関数をコールする
384 検索系SQLを発行し、結果セットをユーザ定義クラスの新規インスタンスとして取得する
385 検索系SQLを発行し、抽出結果をユーザ定義クラスのインスタンスに格納する
386 更新系SQLを発行する
387 例外時の挙動を設定する
388 直近のシーケンス値を取得する
389 トランザクション管理をする
390 エラー情報を取得する
391 名前付きプレースホルダに値をバインドし、プリペアードステートメントを実行する
392 疑問符プレースホルダに値をバインドし、プリペアードステートメントを実行する
393 プリペアードステートメントに含まれる情報をデバッグ出力する
6-2 O/RマッピングライブラリPropelの準備
394 O/Rマッピングを理解する
395 Propelをインストールする
396 Propelプロジェクトを利用する
397 Propelをビルドするための手順を理解する
398 Propelをビルドするための準備をする(schema.xml)
399 Propelをビルドするための準備をする(runtime-conf.xml)
400 Propelをビルドするための準備をする(build.properties)
401 Propelをビルドする
402 ORMオブジェクトの構造を理解する
403 Propelを初期化する
404 Propelの動作確認をする
405 Propelの基本的な書き方を理解する
6-3 Propelの利用 基本編
406 特定のテーブルより全件抽出する
407 抽出結果を連想配列で取得する
408 抽出結果をPDOStatementとして取得する
409 主キー指定でレコードを抽出する
410 関連するテーブルのレコードを抽出する
411 内部結合し結果を抽出する
412 外部結合し結果を抽出する
413 等価なカラム値を持つレコードを抽出する
414 LIKE句で抽出する
415 範囲内のレコードを抽出する
416 WHERE句を直接指定し抽出する
417 複雑な複合条件を生成する
418 関連するテーブルを条件句で絞り込む
419 抽出結果をソートする
420 LIMIT、OFFSET指定で抽出する
421 集合関数を利用する
422 レコードを更新する
423 レコードを挿入する
424 レコードを削除する
425 SQLを直接記述し実行する
426 検索系SQLを直接実行し、抽出結果をPropelのオブジェクトに格納する
427 トランザクション管理する
6-4 Propelの利用 Criteria編
428 特定のテーブルより全件抽出する
429 条件指定で抽出する
430 複合条件を指定する
431 条件を自由に記述する
432 抽出結果をソートする
433 LIMIT、OFFSET指定で抽出する
434 テーブルを結合し、結合先のテーブルを条件で絞り込む
435 集合関数を利用する
436 レコード件数を取得する
437 レコードを更新する
438 レコードを挿入する
439 レコードを削除する
440 トランザクション管理する
441 SQLをデバッグ出力する
442 SQLのデバッグログを見る

第7章 セキュアプログラミングの極意
7-1 安全な実行時設定
443 エラー出力を設定する
444 セッションの挙動を設定する
445 レスポンスヘッダーのバージョン表記の有無を設定する
446 fopen、include、require時のURL読込可否を設定する
7-2 スパム対策
447 ランダム文字列画像による認証(CAPTCHA)をする
448 猫の画像を選択させるCAPTCHAを導入する
7-3 安全なデータベース処理
449 SQLインジェクションの概要を理解する
450 SQLインジェクションによる不正データベース操作の手法を理解する
451 SQLインジェクションによる不正ログインの手法を理解する
452 文字コードの特徴を利用したSQLインジェクションを理解する
453 SQLインジェクション対策をする
7-4 安全なセッション管理
454 セッションハイジャックの概要を理解する
455 セッションID盗難のための様々な手法を理解する
456 リファラ情報によるセッションIDの漏洩を理解する
457 セッション固定攻撃を理解する(1)
458 セッション固定攻撃を理解する(2)
459 安全なセッション管理を実装する
7-5 安全な表示処理
460 クロスサイトスクリプティング(XSS)の概要を理解する
461 クロスサイトスクリプティング(XSS)の攻撃手法を理解する
462 クロスサイトスクリプティング(XSS)に対処する
7-6 安全なリクエスト送信処理
463 クロスサイトリクエストフォージェリ(CSRF)の攻撃手法を理解する
464 クロスサイトリクエストフォージェリ(CSRF)に対処する
7-7 その他のセキュリティ
465 コマンド実行関数の危険性と対策を理解する
466 リダイレクト時の危険性と対策を理解する
467 メール送信の危険性と対策を理解する
468 外部ファイル名指定時の危険性と対策を理解する
469 ヌルバイト攻撃の手法と対策を理解する
470 ファイルアップロード処理の危険性と対策を理解する
471 パスワードをハッシュ化する

第8章 モバイルプログラミングの極意
8-1 モバイルプログラミングの基本
472 モバイルの基本的技術仕様を理解する
473 モバイルプログラミングの準備
474 モバイル向けHTMLを理解する
475 モバイル向けCSSを理解する
476 モバイルキャリアの判別(1)
477 モバイルキャリアの判別(2)
478 機種名を取得する
479 個体識別情報を取得する
480 画面解像度を取得する
481 最適な文字コードで出力する
8-2 モバイルプログラミングの応用
482 モバイルプログラミングでセッションを利用する
483 空メール登録をする
484 かんたんログインを実現する
485 絵文字を各キャリア毎に変換する
486 絵文字データを受け取る
487 GPS位置情報を取得してGoogleマップを表示させる
488 外部参照CSSを使う
8-3 スマートフォンの極意
489 スマートフォンを判別する
490 スマートフォン(Android端末)で絵文字を扱う
491 GPSデータを取得する

第9章 マッシュアップの極意
9-1 短縮URL
492 URLを短縮する
493 短縮URLをもとにもどす
9-2 Google検索API
494 Googleで検索する
9-3 Flickr検索API
495 Flickrの画像を検索する
496 特定の場所で撮影されたFlickerの画像を検索する
9-4 TwitterAPI
497 つぶやきを検索する
498 近くのつぶやきを検索する
499 自分のつぶやきを表示する
500 つぶやきを投稿する
9-5 FacebookAPI
501 Facebookのウォールを表示する
502 Facebookのウォールを検索する
503 Facebookにログインしているユーザプロフィールを表示する
504 ウォールに投稿する
505 自分のウォールに画像つきで投稿する

第10章 テストの極意
10-1 ユニットテストツール PHPUnit
506 テスト駆動型開発をする
507 PHPUnitをインストールする
508 PHPUnitの基本的な使い方
509 より実践的にPHPUnitを使う
510 コードカバレッジ解析を使う
10-2 ビヘイビア駆動開発(BDD)
511 ビヘイビア駆動開発(BDD)を行う
512 Behatのインストール
513 Behatの使い方
10-3 パフォーマンスチューニング
514 パフォーマンスチューニングをする
515 PHPスクリプトのボトルネックをみつける
516 負荷テストを行う

ご注文

シェアする

このエントリーをはてなブックマークに追加

同じジャンルの商品

お知らせ

一覧