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. ソフトウェアデザイン 2019年12月号

    目次Special Feature1 サーバーレスでめざせ!…

  2. さわって学べるプログラミング図鑑

    目次かっこいいプログラマーになれるかな?分解してみよ…

  3. 日常業務をRPAで楽しく自動化 WinActor…

    目次Chapter1 WinActorの基本と仕組み…

  4. OAuth徹底入門 セキュアな認可システムを適用…

    目次第1部 はじめの一歩1OAuth2.0とは何か?…

  5. ゼロからわかるAmazon Web Servic…

    目次CHAPTER1 Amazon Web Services…

  6. 論理的思考力を育てる プログラミングれんしゅうち…

    目次コンピュータで うごく もの いっぱいプログラミング…

  7. SHIP 医療の現場を支え続けるシップヘルスケア…

    目次第1章 グループの理念と事業グループが掲げる「S…

  8. Amazon Web Servicesインフラサ…

    目次Part1 AWSの基本ひとめぐり第1章 Ama…

最近の記事

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