初めてのPHP

[cover photo]
TOPICS
Programming , Web , PHP
発行年月日
PRINT LENGTH
364
ISBN
978-4-87311-793-5
原書
Learning PHP
FORMAT
Print PDF
Ebook
3,300円
Ebookを購入する
Print
3,300円

10年ぶりにメジャーバージョンアップされ、大幅な高速化やメモリ使用量の低減など、大きく性能が向上したPHP 7に対応したロングセラーの入門書の改訂版です。魅力的でインタラクティブなWebサイトの構築に欠かせないPHP言語について、基礎からていねいに解説し、実際にサンプルプログラムを試しながらWebアプリケーションを作成する過程を通じて、一歩一歩着実にPHPの知識と実践テクニックを自分のものにすることが可能です。PHPの基礎的な文法や書き方だけなく、PHPとWebサーバやブラウザがどのように連携して動くのかの仕組み、フォーム作成、データベースとの連携、セッションやクッキーの管理、デバッグ、テスト、セキュリティ、パッケージ管理、フレームワーク、コマンドラインからの実行方法など、実用的な視点からの情報も幅広く解説しています。

関連ファイル

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

1刷正誤表


※2018年6月更新。2刷で修正済みです。

■P.9 下から16行目
【誤】今回の変数は$_SERVER[PHP_SELF]です。
【正】今回の変数は$_SERVER[PHP_SELF]*1です。
*1 訳注:ヒアドキュメント内やダブルクォート(")で括られた$_SERVER[PHP_SELF]は、従来{$_SERVER['PHP_SELF']}と記述していました。従来の記述方法であれば、ヒアドキュメント以外でも使えますので、記述ミスの回避になると思います。

■P.111 下から7行目
【誤】<form method="post" action="$_SERVER['PHP_SELF']">
【正】<form method="post" action="$_SERVER[PHP_SELF]">

■P.119 上から13行目
【誤】<form method="POST" action="$_SERVER['PHP_SELF']">
【正】<form method="POST" action="$_SERVER[PHP_SELF]">

■P.120 上から6行目
【誤】<form method="POST" action="$_SERVER['PHP_SELF']">
【正】<form method="POST" action="$_SERVER[PHP_SELF]">

■P.121 下から2行目
【誤】<form method="POST" action="$_SERVER['PHP_SELF']">
【正】<form method="POST" action="$_SERVER[PHP_SELF]">

■P.128 下から16行目
【誤】<form method="post" action="$_SERVER['PHP_SELF']">
【正】<form method="post" action="$_SERVER[PHP_SELF]">

■P.129 下から9行目
【誤】<form method="post" action="$_SERVER['PHP_SELF']">
【正】<form method="post" action="$_SERVER[PHP_SELF]">

目次

まえがき

1章 オリエンテーションとはじめの一歩
    1.1  Webの世界におけるPHPの位置
    1.2  PHPの優れている点
        1.2.1  PHPはフリー(無料)
        1.2.2  PHPはフリー(自由)
        1.2.3  PHPはクロスプラットフォーム
        1.2.4  PHPは幅広く使われている
        1.2.5  PHPは複雑さを隠す
        1.2.6  PHPはWebプログラミングのために開発されている
    1.3 実際のPHPプログラム
    1.4  PHPプログラムの基本ルール
        1.4.1 開始と終了のタグ
        1.4.2 ホワイトスペースと大文字小文字の区別
        1.4.3 コメント
    1.5 まとめ

2章 テキストと数の操作
    2.1 テキスト
        2.1.1 テキスト文字列の定義
        2.1.2 テキストの操作
    2.2 数値
        2.2.1 さまざまな種類の数値の利用
        2.2.2 算術演算子
    2.3 変数
        2.3.1 変数の操作
        2.3.2 文字列内に変数を入れる
    2.4 まとめ
    2.5 演習問題

3章 ロジック:判定と繰り返し
    3.1  trueとfalse
    3.2 判定
    3.3 複雑な判定
    3.4 繰り返し
    3.5 まとめ
    3.6 演習問題

4章 データのグループ:配列の操作
    4.1 配列の基本
        4.1.1 配列の作成
        4.1.2 適切な配列名の選択
        4.1.3 数値配列の作成
        4.1.4 配列サイズの洗い出し
    4.2 配列のループ
    4.3 配列の変更
    4.4 配列のソート
    4.5 多次元配列の使用
    4.6 まとめ
    4.7 演習問題

5章 ロジックのグループ:関数とファイル
    5.1 関数の宣言と呼び出し
    5.2 関数へ引数を渡す
    5.3 関数から値を返す
    5.4 変数スコープ
    5.5 引数と返り値への規則の適用
    5.6 別ファイルのコードの実行
    5.7 まとめ
    5.8 演習問題

6章 データとロジックの結合:オブジェクトの操作
    6.1 オブジェクトの基本
    6.2 コンストラクタ
    6.3 例外を使った問題の通知
    6.4 オブジェクトの拡張
    6.5 プロパティとメソッドのアクセス権
    6.6 名前空間
    6.7 まとめ
    6.8 演習問題

7章 ユーザとの情報交換:Webフォームの作成
    7.1 便利なサーバ変数
    7.2 フォームパラメータへのアクセス
    7.3 関数を使ったフォーム処理
    7.4 データの検証
        7.4.1 必須項目
        7.4.2 数値要素や文字列要素
        7.4.3 数値範囲
        7.4.4 メールアドレス
        7.4.5  <select>メニュー
        7.4.6  HTMLとJavaScript
        7.4.7 構文以外
    7.5 デフォルト値の表示
    7.6 ひとつにまとめる
    7.7 まとめ
    7.8 演習問題

8章 情報の保存:データベース
    8.1 データベースにおけるデータの整理
    8.2 データベースへの接続
    8.3 テーブルの作成
    8.4 データベースへのデータの書き込み
    8.5 フォームデータの安全な挿入
    8.6 完全なデータ挿入フォーム
    8.7 データベースからのデータの取得
    8.8 取得した行の書式変更
    8.9 フォームデータの安全な取得
    8.10 完全なデータ検索フォーム
    8.11 まとめ
    8.12 演習問題

9章 ファイルの操作
    9.1 ファイルパーミッション
    9.2 ファイル全体の読み書き
        9.2.1 ファイルの読み込み
        9.2.2 ファイルの書き込み
    9.3 ファイルの部分的な読み書き
    9.4  CSVファイル
    9.5 ファイルパーミッションの検査
    9.6 エラーチェック
    9.7 外部から提供されたファイル名の無害化
    9.8 まとめ
    9.9 演習問題

10章 ユーザの記憶:クッキーとセッション
    10.1 クッキーの操作
    10.2 セッションの有効化
    10.3 情報の格納と取得
    10.4 セッションの構成
    10.5 ログインとユーザID
    10.6 setcookie()とsession_start()がページの先頭に来る理由
    10.7 まとめ
    10.8 演習問題

11章 他のWebサイトやサービスとのやり取り
    11.1 ファイル関数を使った簡単なURLアクセス
    11.2  cURLを使った包括的なURLアクセス
        11.2.1  GET経由でURLを取得する
        11.2.2  POST経由でURLを取得する
        11.2.3 クッキーの使用
        11.2.4  HTTPSURLの取得
    11.3  APIリクエスト
    11.4 まとめ
    11.5 演習問題

12章 デバッグ
    12.1 エラー出力場所の制御
    12.2 パースエラーの修正
    12.3 プログラムデータの検査
        12.3.1 デバッグ出力の追加
        12.3.2 デバッガの利用
    12.4 未捕捉例外の処理
    12.5 まとめ
    12.6 演習問題

13章 テスト:プログラムが正しく動作するようにする
    13.1  PHPUnitのインストール
    13.2 テストの記述
    13.3 テスト対象の分離
    13.4 テスト駆動開発
    13.5 テストに関する詳細情報
    13.6 まとめ
    13.7 演習問題

14章 ソフトウェア開発で心得ておきたいこと
    14.1 バージョン管理
    14.2 課題管理
    14.3 環境とデプロイ
    14.4 スケーリングはゆくゆく考える
    14.5 まとめ

15章 日付と時刻
    15.1 日付や時刻の表示
    15.2 日付や時刻の解析
    15.3 日付と時刻の計算
    15.4 タイムゾーン
    15.5 まとめ

16章 パッケージ管理
    16.1  Composerのインストール
    16.2 プログラムへのパッケージの追加
    16.3 パッケージの検索
    16.4  Composerに関する詳細情報の入手
    16.5 まとめ

17章 メールの送信
    17.1  SwiftMailer
    17.2 まとめ

18章 フレームワーク
    18.1  Laravel
    18.2  Symfony
    18.3  ZendFramework18.4
    まとめ

19章 コマンドラインPHP
    19.1 コマンドラインPHPプログラムを書く
    19.2  PHPの組み込みWebサーバの使用
    19.3  PHPREPLの実行
    19.4 まとめ

20章 国際化とローカライゼーション
    20.1 テキストの操作
    20.2 文字エンコーディングの相互変換
    20.3 日本語メールの送信
    20.4 ソートと比較
    20.5 出力のローカライズ
    20.6 まとめ

付録A PHPエンジンのインストールと構成
    A.1  WebホスティングプロバイダでPHPを使う
    A.2  PHPエンジンのインストール
        A.2.1  OSX
        A.2.2  Linux
        A.2.3  Windows
    A.3  PHP構成ディレクティブの変更
    A.4 まとめ
索引