1094 words
5 minutes
独習PHP 第4版

独習PHP 第4版#

第1章 イントロダクション#

1.1 PHPとWebアプリ#

  • サーバとクライアントの話
  • サーバには色々あります
  • 静的なページを返すだけの場合もある
  • PHPは動的なページを作成するための代表的なサーバーサイド技術!

1.2 サーバーサイド技術におけるPHPの位置付け#

  • PHPの特徴
    • 習得が容易である
    • ドキュメントが充実している
    • 利用できる環境が豊富である

1.3 PHP環境を設定するための手順#

1.4 PHPの基本構文#

1.4.2 拡張子は「.php」が基本#

Apacheは拡張子が「.php」であるファイルが要求されたタイミングでPHPの実行エンジンを起動する ファイル名に含めていいのはシングルバイト文字だけ マルチバイト文字(日本語)などは含めることができない

1.4.3 文字コードの設定#

PHPでは文字化けを防ぐため、php.iniファイルで文字コードを宣言している

BOM無しのUTF-8で宣言していく

1.4.4 改行コードの設定#

PHPではLFで統一すべしとしている

PHP8では、JIT(Just-In-Time)機能を搭載した JITとはソースコードを毎回翻訳するのではなく、内部的に一括翻訳する 一括翻訳されたコードはメモリ上に保存して再利用されるので、実行効率が大幅に向上する

1.4.6 PHPはHTML埋込み型言語#

<?php ?> のことをスクリプティングデリミターや、PHPタグと言う

スクリプトブロックが.phpファイルの末尾で終わる場合は、その後方に改行や空白があると、これがブラウザーにも出力されてしまい、 レイアウトがずれる原因にもなるため、ファイルの末尾の「?>」は調略すべきというコーディング規約が一般的

  • 文字列を出力する省略構文
<?= 'こんにちは、世界!' ?><br/>
<?= 'こんにちは、皆さん!' ?>

スクリプトの文末にセミコロンは必須!

セミコロンで区切れば1行にもかけるが、あまりいい書き方ではない

<?php
print 'こんにちは、世界!<br />'; print 'こんにちは、皆さん!';
?>
  • 大文字小文字を区別しないので、ごちゃまぜでかけるが、可読性が下がるので統一すべき
    • printでもPriNtでもうまく動く

1.4.9 コメントは開発者のための備忘録#

    1. <!-- -->
    1. //, #
    • 単一業コメント
    1. /* */
    • 複数行コメント、入れ子にできない

この章の理解度チェック#

第2章 PHPの基本#

2.1 変数#

2.2 定数#

2.3 データ型#

2.4 配列#

2.5 型の相互変換#

この章の理解度チェック#

第3章 演算子#

3.1 代数演算子#

3.2 代入演算子#

3.3 比較演算子#

3.4 論理演算子#

3.5 ビット演算子#

3.6 その他の演算子#

3.7 演算子の優先順位と結合則#

この章の理解度チェック#

第4章 制御構文#

4.1 条件分岐#

4.2 繰り返し処理#

4.3 ループの制御#

4.4 制御命令のその他の話題#

この章の理解度チェック#

第5章 組み込み関数#

5.1 関数の基本#

5.2 文字列関数#

5.3 配列関数#

5.4 正規表現(PCRE)関数#

5.5 ファイルシステム関数#

5.6 その他の関数#

この章の理解度チェック#

第6章 ユーザー定義関数#

6.1 ユーザー定義関数とは?#

6.2 変数の有効範囲(スコープ)#

6.3 引数のさまざまな記法#

6.4 関数呼び出しと戻り値#

6.5 ジェネレーター#

この章の理解度チェック#

第7章 標準クラスライブラリ#

7.1 オブジェクト指向プログラミングの基本#

7.2 DateTimeクラス#

7.3 DirectoryIteratorクラス#

7.4 外部ライブラリの活用―Composer#

7.5 HTTPクライアントGuzzle#

この章の理解度チェック#

第8章 リクエスト情報#

8.1 リクエスト情報#

8.2 ポストデータ―$_POST#

8.3 クエリ情報―$_GET#

8.4 ヘッダー情報―$_SERVER#

8.5 サーバー環境変数―$_ENV#

8.7 セッション情報―$_SESSION#

8.8 アップロード処理の実装―$_FILES#

この章の理解度チェック#

第9章 データベース連携#

9.1 データベースの種類#

9.2 データベース操作の基本#

9.3 データベース抽象化レイヤー#

9.4 データベースへの接続#

9.5 SQLクエリの発行#

9.6 結果セットの取得#

9.7 パラメーター値のバインド#

9.8 トランザクション処理#

この章の理解度チェック#

第10章 オブジェクト指向構文#

10.1 クラスの定義#

10.2 カプセル化#

10.3 継承#

10.4 ポリモーフィズム#

10.5 トレイト#

10.6 オブジェクトの操作#

10.7 例外処理#

10.8 マジックメソッド#

10.9 名前空間#

10.10 クラスの自動ローディング#

この章の理解度チェック#

第11章 高度なプログラミング#

11.1 属性#

11.2 セキュリティ対策#

11.3 ドキュメンテーションコメント#

11.4 VSCode+PHP Debug拡張によるデバッグ#

この章の理解度チェック#

付録A 「練習問題」「この章の理解度チェック」解答#

独習PHP 第4版
https://tutttuwi.github.io/posts/2023-10_独習php第4版/
Author
Tomoaki Tsutsui
Published at
2023-10-13
License
CC BY-NC-SA 4.0