Symfony jak się nauczyć?

0

Jakie poradniki, książki polecacie do symfony? Najlepiej po polsku.

Oglądam to ,ale nie potrafię zrozumieć o co chodzi z $contex, $mahter, routingiem itp.

0

Ja uczyłem się ze strony ->https://symfony.com/doc/current/index.html#gsc.tab=0
Przejedz się po Getting Started
Tam jest bardzo wiele rzeczy wytłumaczone.
Staraj się uczyć z dokumentacją

0

Umiesz czystego PHPa bez frameworków itd? Jeżeli nie znasz PHPa czystego moim zdaniem nie pchaj się w frameworki tylko pierw poznaj sam język, jeżeli zaś znasz czysty język to dokumentacja dużo wyjaśnia i mało jest w nim niepoprawnych praktyk (Prócz m.in. pokazywania odwoływania się do bazy danych przez Doctrine w Controllerze na co nie pozwala MVC), troszkę zdrowego rozsądku upewnienia się czy można tak robić i możesz polegać na dokumentacji. Zacznij od Symfony4 i rzuć okiem na docsa on naprawdę dużo tłumaczy. https://symfony.com/doc/current/routing.html
Edit:
Zerknij na best practices dużo również tłumaczą https://symfony.com/doc/current/best_practices/index.html

0

@krancki
@Ferdyrurka
Nie chcę się określać w znajomości php, bo pewnie inne osoby umieją więcej, nie popełniają błędów itd. itp. Po prostu umiem na tyle, że chce robić już własne projekty, ale mój kod robi się duży co jeszcze nie jest takim problemem, ale to wszystko robi się trudne do ogarnięcia, muszę robić własne funkcje issety wszędzie itp. A fragment z tego filmu co podałem dopóki autor nie użył symfony bardzo mi się spodobał bo czegoś takiego szukałem obsługi podstron, ale wszystko razem zespojone, a nie osobne pliki, jak to ja robię, w sensie, że robie index.php a tam if issety na GET i require() strona z get.
A może laravel albo zend framework? Nad symfony myślałem, bo jest bardzo popularny, więc nie było by problemów z poradnikami, wyjaśnieniem problemów.

1

Od samego oglądania się nie nauczysz, musisz siedzieć i pisać. Zrób jakąś stronę ze możliwością logowania, gdzie po logowaniu zmieniają się jakieś elementy na stronie itp

0

@krancki: no dobra, oglądam i piszę to co jest w poradniku, ale nie rozumiem co pisze i nie rozumiem też w 100% tego co to robi, mówię o symfony i mvc bo php to ogarniam tylko tak jak mówię, gubię się w swoim kodzie, w tym sensie, że kiepsko go piszę, mvc to było by coś czego potrzebuje. Wszystko odzielone a nie html+css przeplatany z php.

albo takie coś jak Localized Routing to jest genialne i oszczęda mnóstwo pracy, też by się przydało w projektach. Po prostu ta idea mvc do mnie.

0

Dlatego nie oglądaj tutoriali tylko leć z dokumentacji , zastanawiaj się co potrzebujesz i szukaj. Według mnie najlepiej przerobić to co ci wysłałem i na bieżąco próbować i obserwować co się dzieje ze stroną.

0

Jak ja się uczyłem i uczę programować nigdy nie robiłem przykładów identycznie jak autor kursu. Powód jest banalny, to nic nie uczy bo przepisywanie daje ci kilka % wiedzy, dlatego nic nie rozumiesz. To rozwiązywanie problemów uczy, gdy siadasz kilka minut/godzin i szukasz jak to rozwiązać, ta wiedza potem zostaję w głowię bo ją analizujesz na wiele sposobów. Dopiero gdy coś zmieniasz np. przy rejestracji dodam pole z płcią, albo przy dodawaniu posta na bloga zrobię to z wykorzystaniem wzorca Command bo chce go poznać daję dużą wiedzę.

4
CodeRZ napisał(a):

Po prostu umiem na tyle, że chce robić już własne projekty, ale mój kod robi się duży co jeszcze nie jest takim problemem, ale to wszystko robi się trudne do ogarnięcia

Umiesz na tyle, że założyłeś z 50 tematów z jakimiś pierdołami jak dotąd, wole nawet nie myśleć ile założysz przy symfony... albo serio nie kumasz i nie ma sensu tego ciągnąć, albo jesteś strasznie leniwy i nie chce ci się szukać samemu nawet banalnych zagadnień, no chyba, że masz 15 lat to cofam

0

@krancki: dobra to mam kilka pytań, odpowiedz ale tak po polsku i prostym językiem

  1. co to routing? domyślam się, że przekierowywanie z /page/1 na odpowiedną akcje w kontrolerze, normalnei by wyświetliło błąd 404.
  2. tu https://symfony.com/doc/current/page_creation.html jest taki fragment
<?php
// src/Controller/LuckyController.php
namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;

class LuckyController
{
    public function number()
    {
        $number = random_int(0, 100);

        return new Response(
            '<html><body>Lucky number: '.$number.'</body></html>'
        );
    }
}

i

app_lucky_number:
    path: /lucky/number
    controller: App\Controller\LuckyController::number

ten rout sprawi, że odpali się kontroler number po wpisaniu adresu /lucky/number?
3. czy te błędy przy composer create-project symfony/website-skeleton my-project są problemem?
Untitled.png

0

Pozwolę sobie odpowiedzieć za @krancki chyba się nie obrazi :).

  1. Routing jest to prosto mówiąc ustawianie url np w symfony używając adnotacji (link wyżej)
    @Route("/api/get-posts")
    Wchodząc pod url: np. localhost/api/get-posts symfony wie dzięki routingowi do jakiego kontrolera i jakiej akcji ma się odwołać/zadzwonić.
  2. Tak.
  3. Nie wiem nie spotkałem się z tym. :)
0

Niestety pisze ze smartfona i nie mogę uczestniczyć w pełni w dyskusji, ale bym podszedł do tego bardziej od strony z samego Symfony. Ostatnio czytałem dyskusję ze nauka Laravela wymaga znacznie krótszego czasu rzędu kilkunastu krotnego.Dlaczego?
Symfony to nie jest tylko framework, ale wręcz prawie filozofia wytwarzania aplikacji. Jeżeli chcesz być bardzo dobrym programistą to uważam że warto nauczyć się Symfony, ale jeżeli chcesz mieć dużo drobniejszych zleceń i nie pchać się w rozbudowane projekty, to - mogę się mylić - warto pomyśleć chociażby o Yii.
Niby zboczyłem z tematu, ale ktoś sugerował czytanie dokumentacji i uważam że w przypadku Symfony tak należy robić (chociaż jak to Polak - rzadko robiłem ;)). Jutro, jak będę miał laptopa, to poczytam i popiszę więcej, dobrej nocy

0

@Ferdyrurka: dzięki, tamten błąd chyba nie ma znaczenia bo działa tzn. symfony pokazuje screen
Capture.PNG
mam jednak malutki problemik tzn. routing nie działa, tak mi się wydaje. Czytałem to https://symfony.com/doc/current/page_creation.html i napisałem to, później nawet skopiowałem dla pewności, ale nie działa! Nie przenosi mnie do tej strony, sprawdziłem nawet komendą w cmd php bin\console debug:router i jest tam to!
Capture2.PNG

screeny kodu:
Capture1.PNG
Capture3.PNG

Od razu powiem szukałem problemu, ale nadal nie wiem w czym rzecz. Może coś z url który wpisuje jest nie tak?
projekt mam w localhost/symfony/kurs1/ ale tam nie ma pliku index.php poniewaz jest on w public wiec wchodze w localhost/symfony/kurs1/public/ i pojawia sie ta strona z poczatkowego screena ale dodając localhost/symfony/kurs1/public/lucky/number pojawia się:
Capture4.PNG

0

A masz plik .htacces ? Bo wygląda to tak jak byś go nie miał.

0

Próbowałem robić wszystko jak na tym poradniku https://symfonycasts.com/screencast/symfony/route-controller i cały czas jest welcome to symfony nie wiem o co tu chodzi.

w konsoli pokazuje, że jest ok
Capture.PNG

edit: pomyłka, nie ten ten folder próbowalem otworzyć.

Działa!

Capture.PNG


edit: public działa , nie działają inne routy, oczywiście zaintalowałem annotations
Capture.PNG

a w konsoli oczywiście się wyśweitla!

Capture.PNG


edit:
problem rozwiązany! brakowało pliku htaccess w public.

0

Spróbuj najpierw sam napisać aplikację MVC (bez żadnego frameworku) to dużo rzeczy z Symfony Ci się rozjaśni.
Pamiętam, że było coś takiego jak TinyMVC - przeanalizuj i spróbuj sam coś podobnego napisać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1