PHPフレームワーク Symfony 4 入門 

目次

1 Symfonyを準備する

1-1 インストールとセットアップ

なぜPHPを選ぶのか

フレームワークは「システム」を提供する

PHPのフレームワーク

Symfony導入に必要なもの

Composerを用意する

Visual  Studio Codeについて

1-2 プロジェクトの作成と実行

Composerでプロジェクトを作る

website-skeletonプロジェクトの作成

プロジェクトを実行する

Visual Studio Code での編集

symfony/skeletonについて

どちらを使うべきか?

 

2 コントローラーとルーティング

2-1 コントローラーの基本

Model-View-Controller

コントローラーを作成する

HelloController にアクセスする

HelloControllerのソースコード

routes.yamlによるルート設定

アノテーションによるルート設定

HTMLを表示するには?

AbstractControllerについて

サービスを確認する

2-2 コントローラーに関する諸機能

パラメーターの利用

クエリーパラメーターの利用

RequestとResponse

リダイレクトとRdirectResponse

JsonReponseについて

XMLデータの表示

エラーの送信

ログ出力について

 

3 テンプレートとビューの基本

3-1 Twig テンプレートの利用

テンプレートエンジン

デフォルトのコードをチェック!

テンプレートを書いてみよう

テンプレートからコントローラーへ値を渡す

3-2 フォームの利用

フォームの送信について

GET および POST を同一アクションで処理

Symfony Forms を利用する

Symfony Formを使ってフォームを作成する

項目の種類について

テンプレートにフォームを表示する

送信されたフォームの処理

フォームをオブジェクトで管理する

セッションについて

3-3 Twigテンプレートを使いこなす

デフォルトのテンプレートをチェック!

継承について

ブロックについて

オリジナルレイアウトを作ろう

{% set %} による変数設定

{% with %}によるスコープ設定

{% if %} による条件表示

{% for %} による繰り返し

マクロの利用

マクロを作成する

マクロを呼び出す

テンプレートのインクルード

テンプレートに値を渡す

オートエスケープについて

フィルターについて

 

4 データベースと Doctrine ORM

4-1 データベース利用の準備

なぜ、ORMなのか

SQLiteについて

データベースの設定を行う

DB Browser for SQLiteについて

データベースとエンティティについて

データベース作成の手順

エンティティの作成

マイグレーションを実行する

データベースファイルの中身を確認する

生成されたスクリプトファイル

マイグレーションファイルについて

4-2 エンティティとリポジトリの基本

Person.phpの内容をチェックする

エンティティのアノテーション

レコードを追加する

エンティティの一覧を表示する

テーブルアクセスはリポジトリの役目

リポジトリの秘密

リポジトリのソースコード

IDでエンティティを検索する

コントローラーを修正する

エンティティの自動フェッチ

4-3 CRUDの基本

CRUDとは?

レコードの作成

レコードの更新

レコードの削除

エンティティのフォームを生成する

エンティティのタイプクラスを作る

PersonTypeを利用する

 

5 データベースを使いこなす

5-1 検索とリポジトリの拡張

findBy および findOneBy について

名前でレコードを検索する

name による検索メソッドを作成する

QueryBuilder および Query による検索手順

あいまい検索を利用する

〇〇歳以上を検索する

複数の検索テキストを指定する

5-2 検索を更に探求する

Expr で式を作る

Exprの条件用メソッド

Exprで in 式を利用する

複数条件の AND 検索

複数条件の OR 検索

ソートの設定

レコードの取得範囲

5-3 DQL/SQL の実行

DQL (Doctrine Query Language)

DQLのSELECT文について

エンティティを更新・削除するDQL構文

ネイティブSQLの実行

5-4 バリデーション

値の検証について

PErsonType の検証を OFF にする

モデルとコントローラーの検証処理

エンティティに検証情報を追記する

コントローラーでフォームを検証する

メッセージのスタイルについて

主な検証ルール

メッセージを日本語化する

フォームに検証ルールを設定する

5-5 複数テーブルの連携

message テーブルの利用

Message エンティティを作る

Message エンティティについて

関連付けの種類

MessageRepositoryの修正

Personエンティティの更新

MessageControllerの作成

MessageTypeの作成

テンプレートの作成

Message を利用してみる

Person から関連 Message を利用する

エンティティ連携のポイント

 

6 ページネーション、ファイルアクセス、フラッシュメッセージ、ユーザー認証

6-1 ページネーション

ページネーションとは?

MessageRepository の編集

MessageController の編集

message/page.html.twig の作成

pegenav.html.twig で移動用リンクを作る

6-2 ファイルアクセス

Finderによるファイルアクセス

コントローラーをすべて表示する

フォルダの一覧を得る

in の指定について

Finderのさまざまな絞り込み機能

ファイルのコンテンツを表示する

FileSystem の利用

6-3 フラッシュメッセージ

コントローラーとビューをつなぐ

フラッシュメッセージを利用する

オブジェクトをメッセージで送る

FlashBagについて

メッセージを蓄積する

メッセージををクリアする

テンプレートを修正する

6-4 ユーザー認証

ユーザー認証の仕組み

User エンティティの作成

User エンティティの修正

登録用 RegisterController の作成

UserType クラスの作成

register アクションのテンプレートを作成する

ログイン処理の SecurityController を作る

ログインページのテンプレートを作る

一般ユーザーのサンプルページを用意する

security.yaml を記述する

security.yaml の設定について

認証システムを利用する

isActiveについて

更に拡張する

 

7 Symfony の拡張

7-1 サービスの作成

Symfony とマイクロサービス

MyService を作成する

MyService を利用する

サービス内からほかのサービスを利用する

インターフェイスとサービス

設定ファイルの利用

設定情報を利用する

7-2 バリデーターの作成

バリデーションの仕組み

Constraint クラスについて

ConstraintValidator クラスについて

NeverUpper クラスを作成する

NeverUpperValidator クラスを作成する

NeverUpper バリデーションを利用する

クラススコープバリデーター

UserChecker の作成

UserCheckerValidator の作成

UserChecker を利用する

7-3 Twigの拡張

カスタムフィルターについて

フィルターとAbstractExtension

Price フィルターの作成

price フィルターを利用する

カスタムタグの作成

トークンパーサークラス

HeloTokenParserの作成

ノードクラス

HeloNodeクラスの作成

エクステンションクラスによるタグの登録

HeloTokenParser を拡張する

複数の属性に対応する

現場至上主義 Spring Boot2 徹底活用

Google AdSense マネタイズの教科書[完全版]

関連記事

  1. モバイルアプリ開発エキスパート養成読本 (Sof…

    目次第1章 モバイルアプリ開発の基礎知識1‐1 モバ…

  2. ミライをつくろう! VRで紡ぐバーチャル創世記

    目次改定版のためのまえがきはじめにVR体験の…

  3. 人と人とのつながりを財産に変える オンラインサロ…

    目次第1章 オンラインサロンとは?1-1 オンライン…

  4. WEB+DB PRESS Vol.106

    目次特集1 実践Android/iOSアプリ設計第1…

  5. 達人に学ぶSQL徹底指南書 第2版 初級者で終わ…

    目次第1部 魔法のSQL1 CASE式のススメ SQ…

  6. ドラゴンクエストXを支える技術 ── 大規模オン…

    目次第1章 ドラゴンクエストXとは何か1.1 ドラゴ…

  7. プログラミング教育が変える子どもの未来 AIの時…

    目次第1章 なぜ、プログラミングを学ぶの?■ なぜ、…

  8. コスパ最強Web集客 ~あなたのホームページ、儲…

    目次第1章 お金をムダづかいせずに儲かるホームページにする方…

最近の記事

  1. Microsft .NET C#
  2. れいといちかとまほうのトンネル
PAGE TOP