PHP逆引きレシピ 第2版 すぐに美味しいサンプル&テクニック

翔泳社(出版社) , 鈴木憲治(著) , 安藤建一(著) , 山田直明(著) , 山本義之(著) , 浅野仁(著) , 櫻井雄大(著)

商品番号
119870
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2013年10月21日
ISBN
9784798119878
判型
A5
ページ数
896
キーワード
プログラミング  PHP  逆引きシリーズ

販売価格:¥3,024(税込)

送料無料 在庫あり

本体価格の10%をポイント還元(会員限定)

  • このエントリーをはてなブックマークに追加
ほしい物リストに追加

最新PHPに対応 さらにレシピを拡充し、より便利に

PHP初級者が中級者にレベルアップするための実践的なプログラミングレシピ集『PHP逆引きレシピ』の改訂第2版です。第2版では、最新のPHP(5.4/5.5)に対応したほか、レシピ全体の大幅な見直しを行い、データベースやテスト関連のレシピ拡充など、さらに内容充実・より便利になりました。

サンプルプログラムのスマートフォン対応も行っています。実践で即役立つテクニックと開発ノウハウ、つまづきやすい・ハマりやすいポイントを徹底解説した“PHPユーザー必携の一冊”です。

第1章 準備

1.1 サーバー環境
 001 サーバーのPHP情報を知りたい
 002 php.iniとは?
 003 文字エンコードを統一したい
 004 日本語関連の設定をしたい
1.2 開発環境
 005 PHPマニュアルを使いたい
 006 開発環境を作りたい
 007 XAMPPをインストールしたい
 008 MAMPをインストールしたい
 009 WindowsにNetBeansをインストールしたい
 010 Mac OS XにNetBeansをインストールしたい
1.3 本番環境
 011 レンタルサーバーのPHPを設定したい
 012 本番環境でのエラー出力の設定方法は?

第2章 PHPの基本構文

2.1 変数
 013 変数と文字列を出力したい
 014 echo <<<END、$変数 = <<<ENDって何ですか?
 015 変数がセットされているかどうか調べたい
 016 変数の型を調べたい
 017 (int)、(string) って何ですか?
 018 null って何ですか?
 019 =& って何ですか?
 020 環境変数の情報を取得するには?
2.2 定数
 021 定数を使用するには?
 022 定義済みの定数を知りたい
2.3 条件分岐
 023 条件で処理を分岐するには?
 024 switch文の使い方を知りたい
 025 「条件式 ? 式1 : 式2」って何ですか?
 026 2つの値を比較するには?
 027 ==と===、!=と!==の違いは?
 028 &&、||、! って何ですか?
2.4 繰り返し処理
 029 PHPの繰り返し構文を知りたい
 030 繰り返し処理の途中でループを抜けたい
 031 繰り返し処理の途中でスキップしたい
2.5 関数
 032 関数を定義したい
 033 デフォルト引数値を指定したい
 034 関数の引数に付いた& って何ですか?
 035 引数の数が変わる関数を定義したい
 036 変数のスコープを知りたい
 037 静的変数とは?
 038 関数が定義済みかどうか調べたい
 039 関数から複数の値を受け取りたい
 040 無名関数って何ですか?
2.6 ファイルのインクルード
 041 他のファイルを取り込んで利用したい
2.7 エラー処理
 042 エラーレベルを設定したい
 043 エラーメッセージを送信したい
 044 ユーザーエラーを発生させたい

第3章 PHPの基本テクニック

3.1 文字列
 045 文字列の一部分を取り出したい
 046 特定の文字列が含まれているか調べたい
 047 文字列を置き換えたい
 048 正規表現によるパターンマッチをしたい
 049 正規表現による複雑な文字列の置き換えをしたい
 050 文字列を繰り返し表示したい
 051 アルファベットを小文字から大文字に変換したい
 052 アルファベットを大文字から小文字に変換したい
 053 全角英数字を半角に変換したい
 054 半角英数字を全角に変換したい
 055 カナ文字を全角かなや半角カナに変換したい
 056 文字列の前後の空白を削除したい
 057 文字列の長さを調べたい
 058 文字エンコードを変換したい
 059 ハッシュ値を求めたい
 060 ランダムな文字列を生成したい
 061 ユニークなIDを作成したい
3.2 数値
 062 数値の丸め(四捨五入)、切り上げ、切り捨てをしたい
 063 数値を3桁ごとにカンマ区切りしたい
 064 数値を必ず小数点以下まで表示させたい
 065 乱数を生成したい
3.3 日付時刻
 066 日付や時刻の一部を取り出して使いたい
 067 日付の表示形式を変えたり、日付の加減算をしたい
 068 現在のタイムスタンプを取得したい
 069 日付をタイムスタンプに変換したい
 070 文字列表現の日付をタイムスタンプに変換したい
 071 日付が正しいかどうかチェックしたい
 072 指定した日付の曜日を求めたい
 073 月末日を求めたい
 074 締め日を求めたい
 075 「第3月曜日」を求めたい
 076 指定した日付の年度を求めたい
 077 西暦を和暦にしたい
 078 生年月日から現在の年齢を求めたい
 079 カレンダーを表示したい
 080 日付セレクトメニューを表示したい
3.4 配列
 081 配列を使いたい
 082 配列の内容をデバッグ表示したい
 083 配列を結合したい
 084 配列を並べ替えたい
 085 配列を逆順にしたい
 086 連想配列を値で並べ替えたい
 087 連想配列を添え字で並べ替えたい
 088 配列の先頭に値を追加したい
 089 配列の末尾に値を追加したい
 090 配列の指定箇所に値を追加したい
 091 配列の先頭を取り除きたい
 092 配列の末尾を取り除きたい
 093 配列の指定範囲を取り除きたい
 094 配列の指定範囲を置き換えたい
 095 配列の一部を取り出したい
 096 配列の中から条件に合うデータのみを抜き出した配列を作りたい
 097 配列に値が存在するか調べたい
 098 配列の値を一度に複数の変数へセットしたい
 099 配列のすべての要素を一括処理したい
 100 配列を連結して1つの文字列にしたい
 101 カンマやスペース区切りの文字列を分割して配列にしたい
3.5 PHPの設定
 102 PHPの設定を調べたい
 103 PHPの設定を一時的に変更したい
3.6 ベンチマーク
 104 ベンチマークを取得したい
 105 関数の平均実行時間を測定したい
3.7 コマンドライン
 106 コマンドラインから実行したい

第4章 ファイルとディレクトリ

4.1 ファイル
 107 ファイルを扱う処理の流れは?
 108 日別のログファイルを作成したい
 109 一時ファイルにデータを書き込みたい
 110 fopen()関数を使わずにファイルにデータを書き込みたい
 111 ファイルのデータを取得したい
 112 ファイルから指定バイト数ずつ取得したい
 113 ファイルのデータをまとめて取得したい
 114 ファイルを使ってアクセスカウンタを作成したい
 115 ファイルの最終更新時刻を取得したい
 116 ファイルのサイズを取得したい
 117 ファイルの拡張子を取得したい
 118 パス名からファイル名を取得したい
 119 ファイルが存在するか調べたい
 120 ファイルが読み取り可能か調べたい
 121 ファイルが書き込み可能か調べたい
 122 ファイルをコピーしたい
 123 ファイルを削除したい
 124 ファイルの種類を判定したい
4.2 ディレクトリ
 125 ディレクトリを作成したい
 126 パス名からディレクトリ名を取得したい
 127 絶対パス名を取得したい
 128 ディレクトリが使用可能な容量を取得したい
 129 ディレクトリを削除したい
 130 ディレクトリ内のディレクトリやファイル名を取得したい
 131 ディレクトリ内の画像を一覧表示したい
4.3 PDFファイル
 132 PDFファイルを生成したい
 133 PDFにリンク文字列を書き込みたい
 134 PDFに表を書き込みたい
 135 PDFに直線を書き込みたい
 136 PDFに画像を挿入したい
 137 テキストファイルをPDFに変換したい
 138 既存のPDFファイルを元にPDFファイルを生成したい
4.4 CSVファイル
 139 CSVファイルを読み込みたい
 140 CSVファイルを出力したい
4.5 画像ファイル
 141 画像を作成したい
 142 画像をファイルとして保存したい
 143 既存ファイルから画像を生成したい
 144 画像のサムネイルを生成したい
 145 画像にテキストを追加したい
 146 画像に点を描き込みたい
 147 画像のサイズを取得したい
4.6 グラフ
 148 グラフを生成したい
 149 折れ線グラフを生成したい
 150 棒グラフを生成したい
 151 円グラフを生成したい
 152 組織図を生成したい

第5章 クラスとオブジェクト

5.1 クラスの基礎
 153 クラスとは?
 154 クラスを使いたい
 155 「$this」や「->」とは何ですか?
 156 コンストラクタとは?
 157 クラスの継承とは?
5.2 クラスの活用
 158 静的メソッド、静的プロパティって何ですか?
 159 オートロードって何ですか?
 160 「self::」「parent::」「static::」とは何ですか?
 161 クラス内で定数を使用したい
 162 マジックメソッドって何ですか?
 163 オブジェクトを保存したい
 164 タイプヒンティングとは何ですか?
 165 抽象クラスとは何ですか?
 166 インターフェイスとは何ですか?
5.3 名前空間
 167 名前空間とは何ですか?
 168 名前空間の記述を短くしたい
5.4 例外処理
 169 例外処理とは何ですか?
 170 複数の例外を分けて処理したい
 171 通常のエラーを例外で処理したい
5.5 SPL
 172 SPL って何ですか?
 173 オブジェクトを配列のように扱いたい
 174 イテレータって何ですか?

第6章 ライブラリ

6.1 PEARの使い方
 175 PEARを使いたい
 176 PEARをアップグレードしたい
6.2 Composerの使い方
 177 Composer って何ですか?
 178 Composerをインストールしたい
 179 Composerでパッケージを管理したい
6.3 Smartyの使い方
 180 Smartyを使いたい
 181 テンプレートを分割したい
 182 フィルタを使いたい
 183 繰り返し処理したい
 184 条件分岐したい
 185 スーパーグローバル変数を取得したい
 186 メールアドレスの難読化でスパム対策したい
6.4 フレームワーク
 187 フレームワークって何ですか?

第7章 Webプログラミング

7.1 フォームの基礎
 188 フォームを使いたい
 189 テキストボックスを使いたい
 190 テキストエリアを使いたい
 191 パスワードボックスを使いたい
 192 セレクトメニューを使いたい
 193 ラジオボタンを使いたい
 194 チェックボックスを使いたい
 195 隠しフィールドを使いたい
 196 ファイル名入力ボックスを使いたい
 197 ボタンを使いたい
 198 HTMLで必須入力のチェックをしたい
 199 日付フィールドを使いたい
 200 テキストボックスにプレースホルダを表示させたい
 201 テキストボックスに入力候補を表示させたい
7.2 フォームの実際
 202 複数選択可能なセレクトメニューやチェックボックスの値を受け取りたい
 203 日付入力のためのフォームを生成したい
 204 データ入力時のみデータを処理するには?
 205 特定の文字列を含むかどうかチェックしたい
 206 文字数や桁数をチェックしたい
 207 数値かどうかをチェックしたい
 208 金額にカンマを付けたい
 209 ファイルの拡張子をチェックしたい
 210 メールアドレスの形式をチェックしたい
 211 配列からラジオボタンを生成したい
 212 データベースからセレクトメニューを生成したい
 213 簡単なログインフォームを作成したい
 214 メール送信フォームを作成したい
 215 magic_quotes_gpcがOnでもOffでも動作するようにしたい
7.3 入力データの加工
 216 タグを取り除きたい
 217 複数の検索キーワードで検索したい
 218 複数選択されたデータを検索したい
 219 「YYYY/MM/DD」形式の日付を利用したい
 220 パスワードをハッシュ化したい
7.4 データ出力時の処理
 221 安全にブラウザで値を表示したい
 222 URLの一部に日本語を利用したい
 223 改行タグを改行文字の前に挿入したい
7.5 Cookie
 224 データをCookieに保存したい
 225 Cookieのデータを読み取りたい
7.6 セッション
 226 セッションを使いたい
 227 セッション名を取得/設定したい
 228 セッションIDを取得したい
 229 セッション変数を使いたい
 230 セッション変数を破棄したい
 231 セッションCookieのパラメータを設定したい
 232 セッションを破棄したい
7.7 ファイルアップロード
 233 複数の画像ファイルをアップロードしたい
 234 ファイルをダウンロードさせたい
7.8 メール処理
 235 添付ファイル付きのメールを送りたい
7.9 ネットワーク
 236 IPアドレスからホスト名、ホスト名からIPアドレスを取得したい
7.10 HTTPヘッダー
 237 HTTPヘッダーを送信したい
 238 別のページに飛ばしたい
 239 キャッシュを無効にしたい
7.11 Web API
 240 JSON形式のデータを返すWeb APIを作りたい
 241 RSSやXML文書を解析したい
 242 JSON形式のデータを返すWeb APIを利用したい
7.12 その他
 243 URLの構成要素を解析したい
 244 処理を一時停止したい

第8章 データベース

8.1 phpMyAdmin
 245 phpMyAdminを使いたい
 246 データベースを作成したい
 247 データベースユーザーを作成したい
 248 テーブルを作成したい
 249 カラムを変更したい
 250 カラムを追加したい
 251 カラムを削除したい
 252 レコードを挿入したい
 253 レコードを表示したい
 254 レコードの編集をしたい
 255 レコードを削除したい
 256 テーブルを削除したい
 257 データベースを削除したい
 258 データベースユーザーを削除したい
 259 SQL文を実行したい
8.2 データベース(PDO)
 260 データベースに接続したい
 261 複数のレコードを取得したい
 262 1行だけレコードを取得したい
 263 データベースに登録済みかどうかチェックしたい
 264 レコードをオブジェクトとして取得したい
 265 新規レコードを作成したい
 266 イメージデータを格納したい
 267 レコードを更新したい
 268 レコードを削除したい
 269 クエリ結果のメモリを解放したい
 270 テーブルを作成したい

第9章 自動テスト

9.1 ユニットテスト
 271 ユニットテストとは何ですか?
 272 PHPUnitを使いたい
 273 複数のテストデータを提供しまとめてテストしたい
 274 フィクスチャとは何ですか?
 275 プライベートメソッドをテストしたい
 276 データベースをテストしたい
 277 テストカバー率を知りたい
9.2 ブラウザテスト
 278 Seleniumでブラウザテストをしたい

第10章 セキュリティ

10.1 セキュリティ対策の基本
 279 セキュリティ対策の基本を知りたい
 280 入力値の検証方法を知りたい
 281 文字列を比較する場合の注意点を知りたい
 282 正規表現の注意点を知りたい
10.2 PHPの設定
 283 セーフモードとは?
 284 より安全なphp.ini設定を知りたい
10.3 セキュリティ対策
 285 パラメータ改竄とは?
 286 XSSとは?
 287 XSS対策をしたい
 288 XSS対策についてさらに詳しく知りたい
 289 CSRFとは?
 290 クリックジャッキングとは?
 291 nullバイト攻撃とは?
 292 SQLインジェクションとは?
 293 OSコマンドインジェクションとは?
 294 ディレクトリトラバーサルとは?
 295 インクルード攻撃とは?
 296 ファイルアップロードの注意点を知りたい
 297 evalインジェクションとは?
 298 メールヘッダーインジェクションとは?
 299 Cookieを安全に利用したい
 300 セッションハイジャック対策をしたい
 301 セッション固定化攻撃を防ぎたい
 302 SSL利用時にセッションを安全に利用したい
 303 キャッシュからの情報漏洩とは何ですか?
 304 Ajaxのセキュリティについて知りたい
 305 JSONのセキュリティについて知りたい

第11章 トラブルシューティング

11.1 エラー表示など
 306 エラーが表示された場合は?
 307 ステップ実行でデバッグしたい
 308 ページが真っ白で何も表示されない
 309 大量のNoticeエラーが表示される
 310 「Warning: Cannot modify header information ...」エラーが表示される
 311 特定の処理においてエラーを抑制したい
11.2 文字化け
 312 日本語のWebページが文字化けする
 313 フォームから送信された値が文字化けしたり表示されない
 314 フォームから送信された「申込」が「申¥込」になる
 315 日時だけが文字化けする

COLUMN

「¥w」「¥d」「¥s」などの定義済み文字クラスの注意
call-time pass-by-reference 機能について
Eclipse PDT とPleiades
HTML5 から<input>タグに新しく追加された入力タイプ
HTML5 でのフォームの新属性のブラウザの対応状況
HTML5 で強化された入力ルールを指定するさまざまな属性
ini_get ( ) 関数、ini_get_all ( ) 関数を使ったテクニック
MAMP のphp コマンドをターミナルから使えるようにパスを通す
MAMP のセキュリティ
mbstring で使う文字エンコード名
mbstring とは?
MVC の定義におけるモデルとフレームワークのActive Record
MySQL での自動型変換
MySQL のroot ユーザーのパスワード設定
MySQL の照合順序
MySQL への接続API
Notice エラー
PHP におけるオブジェクト指向
PHP の終了タグ
require、include、require_once、include_once の違い
SmartyのXSS 対策について
Strict エラーやDeprecated エラーが出力されてしまう
switch 文の比較
Windows でのchm ファイル
XAMPP のphp コマンドをコマンドプロンプトから使えるようにパスを通す
XAMPP のセキュリティ
暗号論的擬似乱数生成器
インクルードファイルの流出
エスケープシーケンス、特殊文字とは?
大きなデータをデータベースに格納する場合のPHP とMySQL の設定
おすすめのSFTP クライアント
言語構造とは?
条件の数値はハードコードせず変数に追い出す
スーパーグローバル変数
脆弱性情報の収集
どのバージョンのPHP を使うべき?
パーミッション
配列と連想配列そして配列のキー
ファイルのアップロード処理に関するphp.ini の設定項目
プリペアドステートメント
文字列比較で気をつけるべきこと
ユーザーからの入力をもとにDDL を動的に生成することの危険性
例外処理の必要性
レンタルサーバーでのphpMyAdmin の起動
レンタルサーバーでのデータベース作成
レンタルサーバーでのデータベース削除
ローカル環境でのメール送信処理の開発テスト

書籍のサンプルなどのダウンロードは、翔泳社サイトへ移動いたしました。
ダウンロード

各種問い合わせは以下のリンクからご連絡ください

関連商品

スラスラわかるC言語 第2版

販売価格:2,376円(税込)

2017.10.20発売

After Effects 逆引きデザイン事典[CC/CS6]増補改訂版

販売価格:3,672円(税込)

2017.10.16発売