ステップ2:作成するプロジェクトについて

5.2版本
维护 没有维护的
5.0

作成するプロジェクトについて

実際に開発していくプロジェクトを紹介します。欧宝娱乐app下载地址Symfonyの全体をカバーするくらいの規模のプロジェクトを考えるのはなかなか困難なチャレンジです。プロジェクトは大きすぎても小さすぎても良くないですからね。同じような機能を何度も実装させてつまらなくなるのを避けることも考えないとなりませんから。

今回のプロジェクトの紹介

アムステルダムで開かれるS欧宝娱乐app下载地址ymfonyConの間にこの書籍はリリースされますので,Symfonyとカンファレンスに関連したプロジェクトが良いかな,と思いました。ゲストブックはどうでしょうか吗?2019年にゲストブックを作成するなんて,オールドファッションで時代遅れな感覚が気に入っています。

決めました。今回のプロジェクトは,カンファレンスのフィードバックを受け付けるものにしましょう。ホームページ上のカンファレンスの一覧やそれぞれのカンファレンスページ,そしてコメントを載せるものにしましょう。コメントは,テキストと任意でカンファレンスで取られた写真を投稿できるようにしましょう。プロジェクトを始めるにあたって必要な仕様をちょうど今挙げることができたと思います。

プロジェクトは,复数のアプリケーションを含んでいます。伝統的なWebアプリケーションであるHTMLフロントエンドや,API,スマートフォン向けのSPAも用意しましょう。楽しくなってきましたね。

実践による学習

実践は学習です!欧宝娱乐app下载地址Symfonyに関する書籍を読むことは重要です。しかし,S欧宝娱乐app下载地址ymfonyに関する書籍を読みながら,自分のパソコンでアプリケーションをコーディングするのはもっと良いですね。この書籍を読み,コーディングをしていくことで,私が実際に自分のパソコンを用いてローカルでコーディングしたものと全く同じことができます。

この書籍は,最終成果物を実行するのに必要なすべてのコマンドを網羅しています。コードはすべて記載されています。モダンなS欧宝娱乐app下载地址ymfonyアプリケーションは,ボイラープレートコードがほとんどないので,可能なのです。一緒に書くことになるコードのほとんどは,プロジェクトのビジネスロジックです。その他のコードは自動化されていたり,自動生成されたりします。

最終的なインフラ図を見てみましょう

たとえ,プロジェクトのアイデアは単純であっても“Hello World”のようなあまり意味のないプロジェクトを作成するわけではありません。また,PHPとデータベースのみを扱うということもありません。

現実世界で直面するかもしれない複雑なものを含んだプロジェクトを作成するのが今回の目的です。このプロジェクトの最終的なインフラストラクチャーを見てください。

../_images/infrastructure.svg.

フレームワークを使う大きな利点の一つは,少ないコードでこのようなプロジェクトの開発が可能だということです。

  • Webサイト用にSRC /以下に20のPHPクラスがあります。
  • PHPLOCでは,PHPの逻辑的代码行(LLOC)が550行あるとレポートされています。
  • 主にバックエンドのデザインの設定のために,40行ほどの3つの設定ファイル(アノテーションやYAMLフォーマット)があります。
  • 開発インフラのために20行の設定があります(码头工人)。
  • 本番インフラのために100行の設定があります(Sy欧宝娱乐app欧宝体育应用最新版app下载下载地址mfonyCloud)。
  • 明示的な環境変数は5つです。

さぁ,次に進む準備はできましたか吗?

プロジェクトのソースコードの入手

昔はソースコードの配布ではCDを作成することもありましたが,Gitリポジトリを使用しましょう。

あなたのローカルのパソコンに留言板库をクローンしてください。

1
$ 欧宝娱乐app下载地址symfony new -version=5.2 1——书留言板

このリポジトリは,この書籍のコードがすべて含まれています。

ここではgit克隆ではなく欧宝娱乐app下载地址コマンドを使用します。このコマンドは(GitHubの快节奏的生活オーガニゼーション配下のhttps://github.com/the-fast-track/book-5.2-1)リポジトリからクローンするだけでなく,Webサーバやコンテナを立ち上げたり,データベースのマイグレーション,フィクスチャのロードもしてくれます。このコマンドを実行すればWebサイトは立ち上がり,使用可能な状態になっているはずです。

コードは,書籍で使用したコードとの同期を保証します。(上記に上げたリポジトリのURLを使用します)。リポジトリ内のソースコードと書籍のソースコードを手動で同期することはほぼ無理だというのは自分でも感じています。特に私がかつて執筆した書籍のようなWebサイトの開発方法に関するものなんて特にそうです。各章はその前の章に依存していますし,次に続く章に渡って変更が必要になるかもしれませんから。

この書籍のGitリポジトリの良いところは,書籍の内容から自動生成されるのです。どうですか吗?私はすべて自動的に解決するのが好きなので,書籍を読むことでGitリポジトリを作成するようなスクリプトがあります。間違った変更をしたり,私が説明の修正を忘れてしまい,書籍の内容を更新することで壊れてしまうといった副作用もあります。書籍駆動開発(书驱动开发)BDDとでも名付けましょうか。


  • «前ステップ1:作業環境を確認する
  • 下一个”ステップ3:ゼロの状態からプロダクションまでやってみよう

这项工作,包括代码样本,是在一个Creative Commons BY-NC-SA 4.0许可证。