Nowy projekt w Symfony 3 – jak zacząć?

Symfony to jeden z bardziej znanych frameworków php zaraz obok Zenda. Aktualna 3 wersja ma niecałe dwa lata, a nadal niewiele funkcjonujących już projektów się na nią upgadeowało. Cieszy mnie jednak fakt, że nowe projekty powstają już w najnowszej wersji, która sprawia wrażenie sensownej. W takim razie spróbuję Ci w skrócie opowiedzieć, jak tworzy się nowy projekt w Symfony 3.

Swój projekt na #DSP2017 postanowiłam oprzeć właśnie na Symfony 3. Dlaczego? W pracy pracuję na Symfony 2. Projekt, który rozwijam wraz z zespołem nie jesteśmy w stanie podnieść do 3, ponieważ bardzo często korzystamy z funkcji, które zostały już wyrzucone w 3, a propozycje ich zastąpienia nie spełniają naszych potrzeb. Chcąc być na bieżąco, stwierdziłam, że konkurs będzie świetną okazją do praktycznego poznania możliwości Symfony 3.

Nowy projekt w Symfony 3 czas start!

Zakładanie nowego projekty na Symfony 3 niczym nie różni się od wcześniejszych wersji. Zaczynamy od zainstalowania frameworka na naszym komputerze:

Linux i OS X:

sudo mkdir -p /usr/local/bin

sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony

sudo chmod a+x /usr/local/bin/symphony

Windows:

php -r "readfile('https://symfony.com/installer');" > symphony

Od tej pory możemy używać w nieskończoność wszystkich dobrodziejstw Symfony. Tworzenie szkieletu aplikacji jest banalnie proste. Wystarczy nam do tego jedna komenda konsolowa.

symfony new nazwa_projektu (wersja)

Całość powstanie w aktualnej lokalizacji, w której się znajdujesz w folderze o nazwie nazwa_projektu. Jeśli nie dodasz opcjonalnego parametru wersji, powstały szkielet będzie ostatnią stabilną wersją Symfony. Gdy jednak potrzebujesz konkretnej wersji, wystarczy, że dodasz jej numer na końcu. Prawda, że proste?

Ostatni krok to uruchomienie serwera i możemy działać. Powodzenia!

php bin/console server:run

Kilka słów o strukturze

Teraz gdy już mamy szkielet aplikacji możemy swobodnie zająć się rozwijaniem jej funkcjonalności. Jednak na początku przydałoby się wiedzieć, gdzie co jest i jak zarządzać kodem. Jak możesz zauważyć w głównym folderze aplikacji mamy pliki composera. Znajdują się tam dlatego, że komponenty instalujemy właśnie z jego użyciem. Jest to świetne narzędzie, o którym pewnie napisze trochę więcej.  Daje nam możliwość w szybki prosty sposób aktualizować i zarządzać wersjami komponentów.

Katalogi mają swoje przeznaczenie, co jest dość oczywiste. Idąc od góry:

  1. App – Główny folder aplikacji, znajdziesz w nim konfigurację aplikacji i połączenia z bazą, miejsce podpięcia komponentów.
  2. Bin – Pliki komendy bin/console.
  3. Src – Głównie w nim miejscu będziesz pracować. To tutaj znajdą się Twoje bundle. Bundle to takie paczki kodu, w których piszemy własne funkcjonalności. Zapewniają nam porządek i elastyczność – oczywiście, jeśli są odpowiednio napisane, ale to już temat na osobny post. Nadpisywanie komponentów również występuje w tym katalogu.
  4. Tests – Jak się nie trudno domyślić, to właśnie tutaj powinny się znaleźć testy jednostkowe.
  5. Var – Pliki generowane automatycznie m.in. cache i log
  6. Vendor –W tym miejscu composer instaluje komponenty. Tu znajdują to core frameworka i zależności zdefiniowane w composerze. Za nic nie ruszaj! Nie wykonuj zmian na trzonie aplikacji. Możesz je nadpisać, ale nigdy, przenigdy nie zmieniaj bezpośrednio tutaj.
  7. Web – Główna ścieżka aplikacji. To tu znajdziesz htaccess, pliki app i app_dev, które są wykowyne jako pierwsze po requeście, frontowe elementy itp.

Jako developer głównie działam w przestrzeni src, tests, web i app. Oczywiście, niektór błędy zmuszają mnie do zagłębienia się w logikę vendorów czy przeanalizowanie logów w var.

Ostatnim krokiem jest połączenia projektu z gitem:

git init
git add .
git remote add origin https://github.com/MagdalenaL/crossSkills.git
git push -u origin master

Jeśli masz jakieś problemy, coś Ci nie działa lub po prostu nie zaspokoiłam Twojej ciekawości, to śmiało pisz. Pochwal się swoim pierwszym projektem i wrzuć link poniżej. Pokaż mi swój nowy projekt w Symfony 3 a w razie problemów napisz od mnie.

Podobne posty

Jestem programistką, która lubi mieć ręce pełne roboty. Do życia potrzebuje komputera z internetem i kubka gorącej kawy. Więcej na stronie o mnie.

Comments

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here