作成するプロジェクトにいて
作成するプロジェクトにいて
実際に開発していくプロジェクトを紹介します。欧宝娱乐app下载地址Symfonyの全体をカバーするくらいの規模のプロジェクトを考えるのはなかなか困難なチャレンジです。プロジェクトは大きすぎても小さすぎても良くないですからね。同じような機能を何度も実装させてまらなくなるのを避けることも考えないとなりませんから。
今回のプロジェクトの紹介
欧宝娱乐app下载地址SymfonyとSymfonyコミュニティに関連したプロジェクトが良いかな,と思いました。毎年オンラ超市超市ンやオフラ超市超市ンのカンファレンスを開催するので,留言板はどうでしょうか?フランス語ではlivre d'orと言います。21世紀にゲストブックを作成するなんて、オールドファッションで時代遅れな感覚が気に入っています。
決めました。今回のプロジェクトは,カンファレンスのフィ,ドバックを受け付けるものにしましょう。ホームページ上のカンファレンスの一覧やそれぞれのカンファレンスページ,そしてコメントを載せるものにしましょう。コメントは,テキストと任意でカンファレンスで取られた写真を投稿できるようにしましょう。プロジェクトを始めるにあたって必要な仕様をょうど今挙げることができたと思います。
プロジェクトは,複数のアプリケ,ションを含んでいます。伝統的なWebアプリケーションであるHTMLフロントエンドや,API,スマートフォン向けのSPAも用意しましょう。楽しくなってきましたね。
実践による学習
実践は学習です!欧宝娱乐app下载地址Symfonyに関する書籍を読むことは重要です。しかし,S欧宝娱乐app下载地址ymfonyに関する書籍を読みながら,自分のパソコンでアプリケーションをコーディングするのはもっと良いですね。この書籍を読み,コーディングをしていくことで,私が実際に自分のパソコンを用いてローカルでコーディングしたものと全く同じことができます。
この書籍は,最終成果物を実行するのに必要なすべてのコマンドを網羅しています。コ,ドはすべて記載されています。モダンなS欧宝娱乐app下载地址ymfonyアプリケーションは,ボイラープレートコードがほとんどないので,可能なのです。一緒に書くことになるコ,ドのほとんどは,プロジェクトのビジネスロジックです。その他のコ,ドは自動化されていたり,自動生成されたりします。
最終的な@ @ンフラ図を見てみましょう
たとえ,プロジェクトのアイデアは単純であっても“Hello World”のようなあまり意味のないプロジェクトを作成するわけではありません。また,phpとデ,タベ,スのみを扱うということもありません。
現実世界で直面するかもしれない複雑なものを含んだプロジェクトを作成するのが今回の目的です。このプロジェクトの最終的な▪▪ンフラストラクチャ▪▪を見てください。
フレームワークを使う大きな利点の一つは,少ないコードでこのようなプロジェクトの開発が可能だということです。
- Webサescト用に
src /
以下に20のPHPクラスがあります。 - PHPLOCでは,PHPの逻辑的代码行(LLOC)が550行あるとレポートされています。
- 主にバックエンドのデザインの設定のために,40行ほどの3つの設定ファイル(アトリビュートやYAMLフォーマット)があります。
- 開発屏显器開発屏显器ンフラのために20行の設定があります(Docker)。
- 本番▪▪ンフラのために100行の設定があります(Platform.sh)。
- 明示的な環境変数は5です。
さぁ,次に進む準備はできましたか?
プロジェクトのソ,スコ,ドの入手
昔はソースコードの配布ではCDを作成することもありましたが,Gitリポジトリを使用しましょう。
あなたのロ,カルのパソコンに留言板库をクロ,ンしてください。
1
$欧宝娱乐app下载地址Symfony新——版本=6.2-1——书留言簿
このリポジトリは,この書籍のコ,ドがすべて含まれています。
ここではgit克隆
ではなく欧宝娱乐app下载地址symfony的新
コマンドを使用します。このコマンドは,(GitHubの快节奏的生活
オ,ガニゼ,ション配下のhttps://github.com/the-fast-track/book-6.2-1
)リポジトリからクローンするだけでなく,Webサーバやコンテナを立ち上げたり,データベースのマイグレーション,フィクスチャのロードもしてくれます。このコマンドを実行すればWebサトは立上がり,使用可能な状態になっているはずです。
コ,ドは,書籍で使用したコ,ドとの同期を保証します。(上記に上げたリポジトリのurlを使用します)。リポジトリ内のソースコードと書籍のソースコードを手動で同期することはほぼ無理だというのは自分でも感じています。特に私がかて執筆した書籍のようなWebサトの開発方法に関するものなんて特にそうです。各章はその前の章に依存していますし,次に続く章に渡って変更が必要になるかもしれませんから。
この書籍のGitリポジトリの良いところは,書籍の内容から自動生成されるのです。どうですか?私はすべて自動的に解決するのが好きなので,書籍を読むことでGitリポジトリを作成するようなスクリプトがあります。間違った変更をしたり,私が説明の修正を忘れてしまい,書籍の内容を更新することで壊れてしまうといった副作用もあります。書籍駆動開発(Book Driven Development) BDDとでも名付けましょうか。
ソ,スコ,ドの紹介
さらに良いことに,リポジトリは主要
ブランチのコ,ドの最終バ,ジョンだけを管理しているわけではないのです。このスクリプトはこの書籍で説明されている各アクションを実行できるようになっており,各セクションの最後でその作業内容をコミットしてくれます。また,各ステップやサブステップにタグを付けコ,ドを見やすくしてくれます。素敵な機能でしょう?
もし,あなたが面倒くさがり屋であった場合には,タグでチェックアウトすれば,ステップの最後のコードの状態を入手することが可能です。
1
$欧宝娱乐app下载地址Symfony book:结账
リポジトリをクロ,ンしたときのように,git checkout
は使用せずに,欧宝娱乐app下载地址symfony的书:结账
コマンドを使用します。このコマンドは,現在の状態をすべてチェックして,このオペレ,ションによって,すべてのデ,タやコ,ド,コンテナが削除されますので注意してくださいと確認を出します。問題がなければ,そのステップ内の実際に動くWebサescトに戻ることができます。
どのサブステップでもチェックアウトすることができます。
1
$欧宝娱乐app下载地址Symfony book:checkout 10.2
もう一度書きますが,ぜひ自分でコ,ドを書いてみることをお勧めします。それでも,ハマってしまった場合は,書籍の内容といでも比べてみることが可能です。
10.2のサブステップのすべてがうまくできたかわからないとしましょう?その時は,diffを見てください。
1 2 3 4
$Git diff step10 -1…step10 -2#对于第一步的第一个子步骤:$Git diff step9…step10 -1
ファ▪▪ルがい▪▪作られたかとかい▪▪変更があったかとか知りたいですか?
1
$git日志——src /控制器/ ConferenceController.php
GitHubで直接diffやタグやディレクトリのコミットなどを見ることも可能です。もし紙での書籍を読んでいるとしたら,コピ,ペ,ストをそこからすることができるので便利です。