PHP逆引き大全 516の極意

概 要

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

著者 大家正登、茂木健一、鮫島康浩、谷中志織
価格 本体2800円(税別)
ISBN 978-4-7980-3093-7
発売日 2011/9/23
判型 A5
色数 2色
ページ数 824
CD/DVD
対象読者 中級
シリーズ 逆引き大全
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

第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 負荷テストを行う

PR

秀和システム