Przedstawienie projektu
Przedstawienie projektu
Musimy znaleźćprojekt, nad ktorym będziemy pracować。Jest孢子wyzwanie, ponieważmusimy znaleźćprojekt wystarczająco duży,赎dokładnie omowićSymfony,啤酒jednoob娱乐下载cześnie na胼胝mały, abyście się聂znudzili wdrażając podobne funkcje więcej niż拉兹。
Wyłonienie projektu
Ponieważksiążka zostanie opublikowana podczas Sob娱乐下载ymfonyCon阿姆斯特丹byłoby fajnie, gdyby nasz projekt w jakiśsposob byłzwiązany z Symfony我konferencjami。公司myślisz oksiędze gości吗?里弗奖。,木菠萝mowimy francusku。Odczuwam przyjemnąnostalgiętworząc księgęgości w 2019 roku !
Trafiony-zatopiony。Projekt będzie polegałna zbieraniu informacji na temat konferencji: lista konferencji na stronie głownej, osobna strona国防后勤局każdej konferencji, mnostwo miłych komentarzy。Komentarz składa sięz krotkiego tekstu我opcjonalnego zdjęcia wykonanego podczas konferencji。Przypuszczam,że właśnie wypisałem całąspecyfikację,ktorej potrzebujemy,赎zacząć。
Projektbędzie zawierałkilkaaplikacji。Klasyczna aplikacja internetowa z frontendem w HTML, API我SPA国防后勤局telefonow komorkowych。有限公司泰娜?
Nauka przez praktykę
Najlepiej sięuczyććwicząc。Kropka。Czytanie książki o ob娱乐下载Symfony jest przyjemne啤酒kodowanie aplikacji na własnym komputerze podczas lektury jest o wiele lepsze。助教książka jest wyjątkowa rownieżz innego powodu。Napisałem jąw塔基•sposob abyśpodążając przez kolejne rozdziały, osiągał/ takie rezultaty相同,木菠萝是的,kiedy阿宝拉兹pierwszy kodowałem tęaplikację。
Książka zawiera cały kod, ktory musisz napisać,我wszystkie polecenia, ktore musisz wykonać,赎uzyskaćostateczny projekt。聂pominąłemżadnego kawałka kodu我podałem wszystkie polecenia。Jest możliwe, ponieważnowoczesne aplikacje napisane w Symfob娱乐下载ony聂wymagajązbyt dużo bazowego kodu。Większośćkodu, ktory napiszemy razem dotyczylogiki biznesowejprojektu。Reszta jest w większości zautomatyzowana滑zostanie wygenerowana automatycznie。
Schemat infrastruktury
Nawet jeśli pomysłwydaje sięprosty,聂zamierzamy budowaćprojektu w stylu“Hello World”。聂ograniczymy się做PHP bazy danych。
Celem jest stworzenie projektu w ktorym rozwiążemy niektore problemy, z jakimi spotykasz sięw codziennymżyciu。里面吗?Przyjrzyj siękońcowej infrastrukturze projektu:
Jednąz największych korzyści płynących z zastosowania frameworka jest niewielka ilośćkodu potrzebna做napisania takiego projektu:
- PHP w katalogu 20建议
src /
国防后勤局aplikacji internetowej; - 550年znaczących linii kodu PHP (ang。逻辑的代码行,LLOC) zgodnie z danymi wskazanymi przezPHPLOC;
- 40 linii dostosowujących konfiguracjępodzielonych na trzy pliki (przy użyciu atrybutow我YAML),做skonfigurowania części backendowej projektu;
- 20 linii konfiguracji infrastruktury lokalnej(码头工人);
- 100年linii konfiguracji infrastruktury produkcyjnej (Platform.sh);
- 5 zdefiniowanych zmiennychśrodowiskowych。
Czas na wyzwanie !
Skąd pobraćkodźrodłowy projektu吗?
90年Trzymając sięstylistyki lat。我,mogłbym stworzyćpłytęCD zawierającąkodźrodłowy Ci jąudostępnić,prawda吗?Zamiast迪高staromodnego podejścia wykorzystamy jednak repozytorium Git。
Sklonuj (ang。克隆)repozytorium księgi gościna swoj komputer:
1
美元ob娱乐下载symfony——version = 5.4 - 1新书留言板
对repozytorium zawiera cały kod tej książki。
Zauważ,że używamyob娱乐下载symfony的新
zamiastgit克隆
。Polecenieob娱乐下载symfony的新
robi więcej niżtylko klonowanie repozytorium (hostowanego na GitHubie w ramach organizacji快节奏的生活
:https://github.com/the -快- track/book - 5.4 - 1
)。Uruchamia rownieżserwer WWW、kontenery migruje bazędanych, uzupełnia bazętestowymi danymi (ang。夹具),国际旅游业伙伴关系。阿宝uruchomieniu迪高polecenia, strona internetowa powinna byćuruchomiona我użycia gotowa做。
Kod z repozytorium jest identyczny z kodem w książce (użyj dokładnego adresu URL repozytorium podanego powyżej)。Ręczne wprowadzanie zmian opisywanych w kolejnych rozdziałach做koduźrodłowego w repozytorium jest prawie niemożliwe。Probowałem迪高w przeszłości,啤酒聂udało mi się。Tak się阿宝prostu聂哒。Szczegolnie w przypadku książek, ktore opowiadająhistoriętworzenia strony internetowej。Ponieważkażdy rozdziałzależy od poprzednich, zmiana może wpłynąćna wszystkie kolejne rozdziały。
Dobrąwiadomością开玩笑,że repozytorium Git国防后勤局tej książki jest聂ręcznie, leczautomatycznie generowanena podstawie jej zawartości。Dokładnie达克!Lubięwszystko automatyzować,więc istnieje skrypt, ktorego zadaniem jest przejście książki我stworzenie repozytorium Git na jej podstawie。马pewnąnieoczekiwanąkonsekwencję:podczas aktualizacji książki skrypt zawiedzie, jeśli zmiany sąniespojne滑jeśli zapomnęo zaktualizowniu niektorych instrukcji。istne BDD——书驱动开发!
Nawigowanie阿宝kodzieźrodłowym
公司więcej, repozytorium聂tylko ostateczna wersja kodu na gałęzi主要
。Skrypt wykonuje instrukcje przedstawione w książce我zatwierdza zmiany (ang。提交)na końcu każdej sekcji。Dodatkowo każda zmiana w repozytorium jest odpowiednio oznaczona (ang。标签)nazwąetapu, ktorego dotyczy - co ułatwi Ci przeglądanie kodu。Ładnie, prawda ?
Jeżeli chcesz, możesz zobaczyćcały kod, jaki powstałw danym etapie, poprzez przełączenie się(ang。结帐)na odpowiedni znacznik (ang。标签)。Na przykład, jeśli chcesz przeczytać我przetestowaćkod Na końcu etapu 10, wykonaj następujące czynności:
1
美元ob娱乐下载symfony的书:检出10
Podobnie木菠萝w przypadku klonowania repozytorium,聂używamy komendygit checkout
啤酒ob娱乐下载symfony的书:结账
。Polecenie sprawia,że niezależnie od stanu w jakim jest Twoj projekt, pliki zmieniająsię做wersji zgodnej z etapem ktory wskazujesz, strona jest纳达尔w pełni funkcjonalna。Uwaga !Wszystkie dotychczasowe戴恩,kod kontenery sąusuwane w trakcie tej operacji。
Możesz rownieżprzełączyćsięna konkretny podetap:
1
美元ob娱乐下载symfony的书:付款10.2
Ponownie, gorąco polecam samodzielne kodowanie,啤酒jeśli utkniesz, zawsze możesz porownaćswoj kod z zawartym w książce。
聂wiesz, czy Twoj kod jest poprawny w podetapie 10.2 ?Sprawdźlistęzmian (ang。diff):
1 2 3 4
美元git diff step-10-1…step-10-2#第一子步的步骤:美元git diff step-10-1第9步…
Chcesz wiedzieć,kiedy plik zostałutworzony滑zmodyfikowany吗?
1
美元git日志——src /控制器/ ConferenceController.php
Możesz rownieżprzeglądaćlisty zmian (ang。差别),znaczniki (ang。标签)我konkretne zatwierdzenia (ang。提交)bezpośrednio na GitHub。Jestświetny sposob na skopiowanie / wklejenie kodu, jeśli czytasz papierowąksiążkę!