WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバーサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





 WINGS News 登録/解除


WINGS News」は不定期で発行されるメールニュースで、サーバサイド技術を中心とした書籍・雑誌の新刊情報を読者の皆さまにお届けするものです。最新の情報をいち早く入手したいという方、見逃したくないという方は、是非、下記のフォームから登録ください。

解除も下記フォームから自由に行うことができます。

(登録に身に覚えなく、「WINGS News」が届いてしまったという方は第三者によるいたずらの可能性があります。その場合は、お手数ですが下記フォームから解除の手続きをお願いします。)

「WINGS News」の配信開始/停止作業の完了までに1~2週間お時間がかかる場合がございます。その間、解除手続き後にメールが配信される場合や、登録手続き後にメールが配信されない場合がございます。
誠に恐れ入りますが、ご了承の程よろしくお願いいたします。

メールアドレス登録:
メールアドレス解除:


以下のようなメールニュースが届きます。

【WINGS News 2016年4月14日号】
WINGS Newsの購読を停止したい方は、本レター末尾の説明を参照下さい
■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◆
■□■ W I N G S 新刊案内  http://www.wings.msn.to/ 
■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━◆

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

 最新バージョンPHP 7対応
  PHPを基礎からがっちり習得したい初心者の方のために
  「独習PHP 第3版」
   http://www.wings.msn.to/index.php/-/A-03/978-4-7981-3547-2/

            山田祥寛 著
            株式会社  翔泳社/発行
            定価 3,200円(+税)
            B5変版 1色刷
            576ページ
            ISBN 978-4-7981-3547-2

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

WINGS広報担当の山田奈美です。
暖かくて気持ちの良い季節になりましたね。
新年度、何か始めたことはありますか?
私は、何度目かの英語の勉強を始めました。
さて、今日は新刊のご案内です。
是非、ご覧になってみてください。

━━━━━━━━
 1.本書の特徴
━━━━━━━━

●きちんとPHPを学習したい方のための入門書
  PHPは柔軟で扱いやすい分、バグやセキュリティ上の問題をはらみ
  やすい言語でもあります。基礎段階での確かな理解が欠かせません。
  本書は、PHPをこれから始める方はもちろん、「なんとなく」理解
  している方、「とりあえず」動かせる方が改めてPHPをきちんと
  学ぶための一冊です。

●データベース連携からオブジェクト指向、セキュリティ対策まで
  環境設定も手順図を交えてわかりやすく、PHPの基礎解説はガッチリと、
  さらにオブジェクト指向、データベース連携やComposerやSmartyまで
  幅広く解説します。
  本書一冊で、基礎/基本テクニックをしっかり習得できます。

●定評のある「独習~」シリーズ、だから安心
  解説、例題、練習問題という3ステップの学習メソッドで、初学者にも
  学習のしやすい「独習」シリーズならではの構成。
  自分で実際にサンプルを動かして試してみましょう。Windows&Linux
  両対応のサンプルソースは、著者サポートサイトからダウンロード
  できます。

━━━━━━━━
 2.本書目次
━━━━━━━━
第1章 イントロダクション
 1.1 PHPとWebアプリケーション
  1.1.1 クライアント/サーバ間の通信
  1.1.2 静的なページと動的なページ
  1.1.3 クライアントサイド技術とサーバサイド技術
 1.2 サーバサイド技術におけるPHPの位置付け
 1.3 PHP環境を設定するための手順
  1.3.1 PHPプログラミングに必要なソフトウェア
  1.3.2 XAMPPによる環境設定の手順
  1.3.3 サンプル実行のための準備
 この章の理解度チェック

第2章 PHPの基本
 2.1 PHPの基本構文
  2.1.1 拡張子は「.php」が基本
  2.1.2 文字コードの設定
  2.1.3 PHPはインタプリタ言語
  2.1.4 PHPはHTML埋め込み型言語
  2.1.5 文を区切るのはセミコロン(;)
  2.1.6 大文字/小文字は区別しない
  2.1.7 コメントは開発者のための備忘録
 2.2 変数
  2.2.1 変数の「宣言」
  2.2.2 変数の命名規則
  2.2.3 [補足]可変変数
 2.3 定数
  2.3.1 定数の基本
  2.3.2 定義済みの定数
 2.4 データ型
  2.4.1 論理リテラル(bool)
  2.4.2 整数リテラル(int)
  2.4.3 浮動小数点リテラル(float)
  2.4.4 文字列リテラル
  2.4.5 シングルクォート文字列とダブルクォート文字列の違い
  2.4.6 ヒアドキュメント
  2.4.7 ヌル(null)
 2.5 配列
  2.5.1 配列の基本
  2.5.2 [補足]配列の内容を確認する
  2.5.3 連想配列の基本
  2.5.4 多次元配列
  2.5.5 [補足]通常配列と連想配列の関係
 2.6 型の相互変換
  2.6.1 暗黙的な変換
  2.6.2 明示的な変換(キャスト)
  2.6.3 [補足]文字列→数値の型キャスト
 この章の理解度チェック

第3章 演算子
 3.1 代数演算子  3.1.1 文字列混在の演算
  3.1.2 加算子(++)/減算子(--)
  3.1.3 マジカルインクリメント
  3.1.4 浮動小数点数の演算に注意
  3.1.5 配列の結合
 3.2 代入演算子
  3.2.1 値による代入と参照による代入
 3.3 比較演算子
  3.3.1 文字列混在の比較
  3.3.2 厳密な等価演算子(===)
  3.3.3 浮動小数点数の比較
  3.3.4 配列の比較
  3.3.5 条件演算子(?:)
 3.4 論理演算子
  3.4.1 ショートカット演算(短絡演算)
 3.5 ビット演算子
  3.5.1 ビット論理演算子
  3.5.2 ビットシフト演算子
 3.6 その他の演算子
  3.6.1 文字列演算子
  3.6.2 実行演算子
  3.6.3 エラー制御演算子
 3.7 演算子の優先順位と結合則
  3.7.1 優先順位
  3.7.2 結合則
 この章の理解度チェック

第4章 制御構文
 4.1 条件分岐
  4.1.1 if命令─単純分岐
  4.1.2 if命令─多岐分岐
  4.1.3 if命令─入れ子構造
  4.1.4 [補足]中カッコは省略可能\r
  4.1.5 switch命令─多岐分岐
  4.1.6 [補足]switch命令の判定方法
 4.2 繰り返し処理
  4.2.1 while/do~while命令
  4.2.2 [補足]無限ループ
  4.2.3 for命令
  4.2.4 [補足]カンマ演算子
  4.2.5 foreach命令
  4.2.6 値変数の参照渡し
 4.3 ループの制御
  4.3.1 break命令
  4.3.2 continue命令
  4.3.3 ループのネストとbreak/continue命令
  4.3.4 [補足]switch命令でのcontinue命令
 4.4 制御命令のその他の話題
  4.4.1 goto命令
  4.4.2 スクリプトブロックと固定テンプレート
  4.4.3 [補足]制御命令の別構文
 この章の理解度チェック

第5章 組み込み関数
 5.1 関数の基本
  5.1.1 関数の呼び出し
  5.1.2 組み込み関数
  5.1.3 構文の表記について
 5.2 文字列関数
  5.2.1 文字列の長さを取得する─mb_strlen関数
  5.2.2 文字列を大文字⇔小文字で変換する─strtolower/strtoupper関数
  5.2.3 部分文字列を取得する─mb_substr関数
  5.2.4 部分文字列を置換する─str_replace関数
  5.2.5 文字列を特定の区切り文字で分割する─explode関数
  5.2.6 特定の文字位置を検索する─mb_strpos/mb_strrpos関数
  5.2.7 文字列を整形する─printf関数
  5.2.8 文字列を変換する─mb_convert_kana関数
  5.2.9 文字エンコーディングを変換する
      ─mb_convert_encoding/mb_convert_variables関数
  5.2.10 電子メールを送信する─mb_send_mail関数
 5.3 配列関数
  5.3.1 配列の要素数を取得する─count関数
  5.3.2 配列の内容を連結する─array_merge関数
  5.3.3 配列の各要素を結合する─implode関数
  5.3.4 配列の先頭/末尾に要素を追加/削除する
      ─array_push/array_pop/array_shift/array_unshift関数
  5.3.5 [補足]スタックとキュー
  5.3.6 配列に複数要素を追加/置換/削除する─array_splice関数
  5.3.7 配列から特定範囲の要素を取得する─array_slice関数
  5.3.8 配列の内容を検索する─array_search関数
  5.3.9 配列に特定の要素が存在するかを確認する─in_array関数
  5.3.10 配列の内容を並べ替える─sort関数
  5.3.11 自作のルールで配列を並べ替える─usort関数
 5.4 正規表現(PCRE)関数
  5.4.1 正規表現の基本
  5.4.2 利用する正規表現関数
  5.4.3 正規表現で文字列を検索する─preg_match関数
  5.4.4 すべてのマッチ文字列を取得する─preg_match_all関数
  5.4.5 正規表現で文字列を置換する─preg_replace関数
  5.4.6 [補足]URL文字列の正規表現パターン
  5.4.7 正規表現で文字列を分割する─preg_split関数
  5.4.8 正規表現パターンの修飾子
 5.5 ファイルシステム関数
  5.5.1 [例1]テキストファイルへの書き込み
  5.5.2 ファイルを開く─fopen/fclose関数
  5.5.3 fopen関数でのエラー処理─エラー制御演算子
  5.5.4 ファイルへの書き込み─fwrite関数
  5.5.5 ファイルのロック─flock関数
  5.5.6 [例2]タブ区切りテキストの読み込み─fgetcsv関数
  5.5.7 [例3]タブ区切りテキストの読み込み(別解)─fgets/file関数
  5.5.8 ファイルシステム関数の設定パラメータ
 5.6 その他の関数
  5.6.1 数学関数
  5.6.2 変数を破棄する─unset関数
  5.6.3 変数のデータ型を判定する─is_xxxxx関数
 この章の理解度チェック

第6章 ユーザ定義関数
 6.1 ユーザ定義関数とは?
  6.1.1 ユーザ定義関数の基本
  6.1.2 引数/戻り値の型宣言[7.0]
  6.1.3 スクリプトの外部化
  6.1.4 [補足]関数を定義する位置
 6.2 変数の有効範囲(スコープ)
  6.2.1 グローバル変数とローカル変数
  6.2.2 関数内でグローバル変数を利用する─global命令
  6.2.3 静的変数─static命令
  6.2.4 インクルードファイルのスコープ
  6.2.5 [補足]unset関数の挙動
 6.3 引数のさまざまな記法
  6.3.1 引数のデフォルト値
  6.3.2 引数の参照渡し
  6.3.3 可変長引数の関数[5.6]
  6.3.4 [例1]可変長引数と通常の引数の混在
  6.3.5 「.」演算子による引数のアンパック
 6.4 関数呼び出しと戻り値
  6.4.1 複数の戻り値
  6.4.2 再帰関数
  6.4.3 可変関数
  6.4.4 無名関数(クロージャ)
  6.4.5 親スコープの変数を引き継ぐ─use命令
 6.5 ジェネレータ
  6.5.1 [例2]素数を求めるジェネレータ
  6.5.2 ジェネレータの結果を取得する[7.0]
  6.5.3 一部の処理を他のジェネレータに委譲する[7.0]
 この章の理解度チェック

第7章 標準クラスライブラリ
 7.1 オブジェクト指向プログラミングの基本
  7.1.1 クラスと関数/変数
  7.1.2 クラスとオブジェクトの関係
  7.1.3 インスタンス化とメンバの呼び出し
  7.1.4 静的プロパティ/静的メソッド
 7.2 DateTimeクラス
  7.2.1 DateTimeオブジェクトの生成
  7.2.2 日付/時刻値を指定のフォーマットで整形する─formatメソッド
  7.2.3 日付/時刻文字列を解析する─createFromFormatメソッド
  7.2.4 日付/時刻値を加算/減算する─add/subメソッド
  7.2.5 日付/時刻値の差分を取得する─diffメソッド
  7.2.6 [補足]日付/時刻関数
 7.3 DirectoryIteratorクラス
  7.3.1 フォルダを開く
  7.3.2 フォルダ配下の要素を順に取得する
  7.3.3 ファイル情報を取得する
 7.4 外部ライブラリの活用─Composer
  7.4.1 Composerのインストール
  7.4.2 Composerで利用できる主なコマンド
 7.5 テンプレートエンジンSmarty
  7.5.1 [例]テンプレートエンジンの基本
  7.5.2 [補足]Smartyの拡張セットアップ
  7.5.3 テンプレートの構成要素
 この章の理解度チェック

第8章 リクエスト情報
 8.1 リクエスト情報
  8.1.1 HTTP通信の確認
  8.1.2 HTTPメソッドとHTTPステータス
  8.1.3 スーパーグローバル変数
 8.2 ポストデータ─$_POST
  8.2.1 [例1]ポストデータを取得する
  8.2.2 エスケープ処理の必要性
  8.2.3 [例2]複数の値を持つ要素にアクセスする
 8.3 クエリ情報─$_GET
  8.3.1 [例3]クエリ情報を取得する
  8.3.2 [例4]ハイパーリンク経由で値を受け渡しする
  8.3.3 ポストデータとクエリ情報
 8.4 ヘッダ情報─$_SERVER
  8.4.1 ヘッダ情報の種類
  8.4.2 ヘッダ情報の利用方法
  8.4.3 [例5]リクエストヘッダを取得する
  8.4.4 [補足]レスポンスヘッダを設定する(1)─リダイレクト
  8.4.5 [補足]レスポンスヘッダを設定する(2)─その他の用法
 8.5 サーバ環境変数─$_ENV
 8.6 クッキー情報─$_COOKIE
  8.6.1 [例6]クッキーの基本的な読み書き
  8.6.2 クッキー授受の仕組み
 8.7 セッション情報─$_SESSION
  8.7.1 [例7]基本的なセッション情報の読み書き
  8.7.2 セッションの仕組み
  8.7.3 セッションを破棄する
  8.7.4 セッションにかかわる諸設定
 8.8 アップロード処理の実装─$_FILES
  8.8.1 [例8]画像ファイルのアップロード
  8.8.2 入力フォームでの注意点
  8.8.3 アップロードの実処理
  8.8.4 アップロードのエラー処理
  8.8.5 アップロードに関連する設定パラメータ
 この章の理解度チェック

第9章 データベース連携
 9.1 データベースの種類
  9.1.1 リレーショナルデータベースの種類
 9.2 データベース操作の基本
  9.2.1 MariaDB monitorの使い方
  9.2.2 SQLの基本
 9.3 データベース抽象化レイヤ
  9.3.1 PDO(PHP Data Objects)
 9.4 データベースへの接続
  9.4.1 接続と切断
  9.4.2 例外処理の基本─try~catch~finally命令
  9.4.3 接続スクリプトの外部化
  9.4.4 接続オプション
 9.5 SQLクエリの発行
  9.5.1 [例]入力値を基にデータベースに登録する
  9.5.2 名前付きパラメータと名前なしパラメータ
  9.5.3 オートインクリメント値を取得する
 9.6 結果セットの取得
  9.6.1 フェッチメソッド
  9.6.2 フェッチモード
 9.7 パラメータ値のバインド
  9.7.1 パラメータのデータ型を宣言する─バイナリデータの操作
  9.7.2 bindValueメソッドとbindParamメソッド
 9.8 トランザクション処理
  9.8.1 トランザクションの活用
 この章の理解度チェック

第10章 オブジェクト指向構文
 10.1 クラスの定義
  10.1.1 最も簡単なクラス
  10.1.2 プロパティ
  10.1.3 メソッド
  10.1.4 コンストラクタ
  10.1.5 デストラクタ
  10.1.6 静的メソッド
  10.1.7 静的プロパティ
  10.1.8 クラス定数
 10.2 カプセル化
  10.2.1 アクセス修飾子
  10.2.2 アクセサメソッド
 10.3 継承
  10.3.1 継承の基本
  10.3.2 メソッドのオーバライド
  10.3.3 スーパークラスのメソッドを呼び出す─parentキーワード(1)
  10.3.4 スーパークラスのコンストラクタを呼び出す─parentキーワード(2)
  10.3.5 オーバライドの禁止─final修飾子
 10.4 ポリモーフィズム
  10.4.1 抽象メソッド
  10.4.2 インターフェイス
  10.4.3 instanceof演算子
  10.4.4 無名クラス[7.0]
 10.5 トレイト
  10.5.1 トレイトの基本
  10.5.2 トレイトと多重継承
  10.5.3 [例1]アクセサメソッドの実装
  10.5.4 名前競合時の挙動
 10.6 オブジェクトの操作
  10.6.1 オブジェクトの代入
  10.6.2 オブジェクトの比較
  10.6.3 オブジェクトの反復処理
  10.6.4 [例2]反復処理のカスタマイズ
 10.7 例外処理
  10.7.1 例外をスローする─throw命令
  10.7.2 例外クラスを拡張する
  10.7.3 エラー報告の処理
 10.8 マジックメソッド
  10.8.1 未定義のプロパティを処理する(1)─__get/__setメソッド
  10.8.2 未定義のプロパティを処理する(2)─__isset/__unsetメソッド
  10.8.3 未定義のメソッドを処理する─__call/__callStaticメソッド
  10.8.4 オブジェクトの文字列表現を規定する─__toStringメソッド
  10.8.5 オブジェクトを関数として実行する─__invokeメソッド
  10.8.6 オブジェクトの複製方法をカスタマイズする─__cloneメソッド
  10.8.7 デバッグ情報をカスタマイズする─__debugInfoメソッド[5.6]
 10.9 名前空間
  10.9.1 名前空間の基本
  10.9.2 名前の記法と名前解決のルール
  10.9.3 インポート
 10.10 クラスの自動ローディング
  10.10.1 spl_autoload_register関数
  10.10.2 [例3]名前空間対応のオートローダ
  10.10.3 spl_autoload_register関数の自動呼び出し
 この章の理解度チェック

第11章 セキュリティ対策
 11.1 クロスサイトスクリプティング
  11.1.1 原因
  11.1.2 対策
  11.1.3 [補足]タグ文字列の許可
 11.2 SQLインジェクション
  11.2.1 原因
  11.2.2 対策
  11.2.3 [補足]OSコマンドインジェクション
 11.3 クロスサイトリクエストフォージェリ
  11.3.1 原因
  11.3.2 対策
 11.4 パストラバーサル
  11.4.1 原因
  11.4.2 対策
  11.4.3 [補足]nullバイト攻撃
 11.5 メールヘッダインジェクション
  11.5.1 原因
  11.5.2 対策
 11.6 その他の攻撃と予防策
  11.6.1 セッションハイジャック
  11.6.2 ファイルアップロード攻撃
  11.6.3 eval攻撃
  11.6.4 インクルード攻撃
  11.6.5 [補足]php.iniによる予防
 11.7 入力値の検証
  11.7.1 検証の前提
  11.7.2 [例]入力フォームの検証処理
 この章の理解度チェック

Column
 Apache/MariaDBが起動しない場合
 PHPの歴史─PHP1.0~PHP5.6
 PHPの歴史─永久欠番のPHP6と、最新のPHP7
 きれいなプログラム、書いていますか?─コーディング規約
 PHPをより実践的に活用したい人のための関連書籍
 アプリケーションフレームワークの歴史
 PHPアプリ開発に役立つ統合開発環境─Eclipse PDT
 PHPが利用可能なレンタルサーバー
 printとechoの違いとは?

**********************************************************************
■発行者:(有)WINGSプロジェクト
■ホームページ:http://www.wings.msn.to/
■お問い合わせ:nami@wings.msn.to
■WINGS News登録・解除:http://www.wings.msn.to/index.php/-/A-09/
※このメールにご返信いただきましても、解除はできませんのでご了承
 ください。
**********************************************************************
過去のニュースを参照

著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2024,Yamada Yoshihiro.  All Right Reserved.