Czy da się zrobić większy projekt w Symfony bez konfiguracji serwisów w yamlach?

W pracy wszystkie serwisy definiujemy w yml'ach, podczas gdy w prywatnych projektach nigdy nie miałem takiej potrzeby i zastanawiam się czy to jest dobra praktyka.
Jestem w stanie pracować zgodnie ze sztuką, stosując jakieś strategie czy po prostu SOLID i liczyć że autowire będzie wiedział jaką implementację w danym momencie potrzebuję? Bo w pracy takie rzeczy zawsze robię przez
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jurix: ogólnie mówiąc, pracując w Laravelu to nie lubię autowiring. Ciężko prześledzić logikę aplikacji, dlatego też logiczniej - ale bardzie pracochłonne - jest po prostu definicja serwisów.

Masz wtedy czarno na białym co się zadzieje.
  • Odpowiedz
@Jurix: Koledzy wyżej słusznie argumentują, ale ja mam propozycję, żebyś definiował serwisy w yamlu wtedy, gdy to jest konieczne, a dla większości zostawił autowiring. Ja dokładnie w ten sposób robię, bo to jest reguła YAGNI. Jeśli masz serwis, który nawet nie ma interfejsu, tylko jest to pojedynczą klasą (tak jak masz np repozytoria), to przecież nie będziesz definiował interfejsu na siłę? Nie bedzie Ci potrzebny, bo masz jeden konkretny obiekt.
  • Odpowiedz
Od około roku uczę się PHP, jakiś czas temu stwierdziłem że czas nauczyć się Symfony, ale strasznie topornie mi to idzie, nie podchodzi mi zupełnie. Z drugiej strony ostatnio chciałem coś napisać w Websocketach i wypróbowałem node.js, mimo że z JS znam tylko podstawy to bardzo dobrze mi się z niego korzystało, o wiele przyjemniej niż Symfony. Gdyby mi chodziło tylko o wygodę to zapewne przeniósłbym się na node.js, ale głównie zależy
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Virsky: dla mnie osobiście lepiej było najpierw nauczyć się Zend Framework 2-3 (obecnie Laminas), a dopiero później przeszedłem do Symfony 4+ i była to kwestia miesiąca. Patrząc na oba narzędzia mam wrażenie, że Symfony dużo rzeczy uprościło, co z jednej strony było błogosławieństwem, z drugiej przekleństwem. W Zendzie trzeba było dokładnie wiedzieć jak działa dany moduł, sama kwestia podejścia do obsługi bazy danych. W Symfony domyślnie jest doctrine, encję i
  • Odpowiedz
@programista5k: No tak, czasami bez Event Storming nie ma Event Sourcing.

Aktualnie pracuje w nietypowej firmie, gdzie IT jest tylko małym działem, szkolimy się, dużo rzeczy robimy sami, ale odkąd zaczęliśmy przyklejać karteczki na ścianę rozmawiając przy tym z innym pracownikami innych działów nasze życie stało się piękniejsze.

Do pełni szczęścia brakuje nam jeszcze mądrego wzorca Sagi w PHP.
  • Odpowiedz
@maciorqa: To nie jest tak że przechodzisz z jednego na drugi i koniec, drzwi zamknięte. Po prostu pisząc w SF możesz (i powinieneś) tworzyć piękny kod zgodny z dobrymi praktykami, wzorcami itp. W larwie bywa to ciężkie, chociażby z powodu który przytoczyłem wyżej, i kiedy już się znasz i sobie popiszesz w SF, to potem jak wskakujesz na larwę to patrzysz i się odechciewa. Larwa jest super do mniejszych projektów
  • Odpowiedz
@wujekmundek: Ja bym tak nie przesadzal z tym GitHubem jak nie ma doswiadczenia, bo mozliwe, ze nawet tam nie zagladaja. Sory, ale teraz na juniora dostaja tyle cv, ze watpie, zeby przegladali ich kody, przy kilku cv juz ciezko, zeby wszystkie repozytoria ktos ogladal a teraz dostaja duzo wiecej niz kilka cv.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 2
@Trochutak: IMO jeden dobrze zrobiony projekt na GH który żyje tzn jest postawiony i osiągalny pod domeną. To możesz wpisać w CV w jakiejś sekcji "projekty", możesz tym zainteresować rekrutera, a ew. programista sprawdzający kod ma już na co spojrzeć. Podepnij w takim projekcie narzędzia CI typu Travis, poczytaj o phpunit czy phpstan. Takimi rzeczami jesteś w stanie się wybić jak masz solidne podstawy. Możesz też prosić o CR tutaj
  • Odpowiedz
Cześć, mam problem z wrzucaniem appki na produkcję, a mianowicie próbuję ją zdeployować na produkcję przez heroku. Wszystko już mam poustawiane, ale pojawia mi się problem z niedziałającymi odwołaniami w Twigu do zbudowanych plików js i css z Webpack encore:

An exception has been thrown during the rendering of a template ("Could not find the entrypoints file from Webpack: the file "/app/public/build/entrypoints.json" does not exist.").
nie mam pojęcia co mogę zrobić, w
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Trochutak: Trochę tylko w temacie. Webpack jest nieobliczalny. Robiąc deploy i budując assety, nie rób tego na istniejących plikach, tj nie nadpisuj nic nigdy, bo może się np zdarzyć, że mimo poprawnego wyeksportowania funkcji js, będzie sypało błędami w przeglądarce. No ale w tym przypadku wyraźnie twig nie widzi tego pliku. Czy sprawdzałeś uprawnienia do odczytu? Zresztą, tu jest wyjaśnione dla heroku również. chyba: https://stackoverflow.com/questions/53436078/symfony-webpack-could-not-find-the-entrypoints-file-from-webpack
  • Odpowiedz
Mirki z tagów #php #ecommerce #symfony #laravel mam pytanie, które skierowane jest do osób z doświadczeniem ze sklepami. Będę stawiał sklep spięty z hurtowniami z dropshippingiem i wybieram technologię po stronie back-endu. Sklep przez pierwszy rok/dwa raczej nie będzie pod dużym obciążeniem. Klient na razie chce przetestować pewien pomysł, a w razie gdyby potrzebne było skalowanie ze względu na wzrost zainteresowania jest gotowy zmienić
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@ajgoron:

Klient na razie chce przetestować pewien pomysł, a w razie gdyby potrzebne było skalowanie ze względu na wzrost zainteresowania jest gotowy zmienić technologię.

Jeśli tak to klient powinien zainteresować się SaaSem, a nie stawianiem platformy od zera, bo na początku to ty jako deweloper będziesz dla niego najbardziej zabójczym kosztem w ecommerce, i jest zwyczajnie taniej zacząć z jakimś
  • Odpowiedz
@Bulldogjob jak zwykle czepiam się artykułów dot. php ale kurcze. Oryginalny art. z 2018 roku na medium i jedyne co zostało zrobione to tłumaczenie? Szkoda, bo gdyby były przykłady wykorzystania, użycie fabryki (jak ktoś w komentarzu na medium zasugerował), wysyłka maila w razie błędu określonego poziomu i jakieś inne smaczki to mógłby być fajny art bo temat ciekawy, a przez wielu pomijany. Dwa, że w obecnych wersjach Symfony nie tworzy się
  • Odpowiedz
@croppz: Mi się podobał graphql, ale nie widziałem dla niego zastosowanie w projektach nad którymi pracowałem akurat, choć były to głównie API - wszelkiego rodzaju. W symfony jest zawarta pewna koncepcja wychodząca daleko poza to, co opisują w dokumentacji. Service oriented, event driven to nie tylko mechaniczne sposoby na pisanie kodu, ale pewien sposób projektowania go. Z oficjalnej dokumentacji niewiele wynika. Nawet tak dobry komponent jak Workflow został po prostu
  • Odpowiedz
@tylko_na_dole: nie, zapomnij o istnieniu kontenera w 90% przypadków przy pisaniu unitów. Używaj metody setUp aby jednorazowo tworzyć testowaną klasę i mocki bez kopiowania kodu. Trzymaj się standardu nazewnictwa: testFirst_Success() - mieszane dwa style. Dbaj o to żeby test miał nazwę adekwatną do tego co testuje - ten przykład jest dosyć abstrakcyjny, ale już tutaj dopisek Success gryzie; przykładowo gdybyś miał klasę która jedyne co robi to dodaje komentarz, to
  • Odpowiedz
@tylko_na_dole: nie, w testach jednostkowych nie powinno być w ogóle kontenera i frameworka
do tego testowanie repozytoriów w testach jednostkowych mija się z celem, bo głównie będziesz testował mocki, albo czy dobrze działają natywne elementy języka(typu typowanie, wywołania metod, ustawianie propertiesów itp)

takie rzeczy lepiej testować integracyjnie, czy to na realnej bazie, czy na jakimś sqlite albo inmemory jeśli trwa to za długo, ale tego drugiego bym unikał, jeśli trwa
  • Odpowiedz
Mam pytanie odnośnie pisania testów w Symfony 4 phpunit. Mam problem z mockowianiem w serwisie (ang Service) innych prywatnych serwisów, np. Repozytoriów.

W Symfony 3 robiłem to tak: pisałem mocka repozytorium i podmieniałem go w kontenerze $container->set('repo', $mock); - podmieniałem prawdziwy serwis na mock'a. Wtedy w serwis używał mojego mocka zamiast prawdziwego repo.

W Symfony 4 serwisy są prywatne. W takim razie jak się to robi?

Znalazłem
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Miruny
bawię się od jakiegoś czasu w #php i #symfony

do pewnego momentu bawiłem się używając XAMPa do stawiania lokalnego serwa do wykorzystania bazy danych #mysql, ale zamarzyło mi się spróbować sił w konteneryzacji i użycie #docker i obrazów mysql oraz phpmyadmin do stawiania bazy danych w kontenerze.

Wszystko fruwa, śmiga i działa. Jestem w stanie przez przeglądarkę podejrzeć sobie bazę danych na localhoście, ale kiedy
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Korzysta ktoś może z Symony na Windowsie i wie czemu w konsoli MINGW64 tekst wyświetla się w taki śmieszny sposób? Da się z tego korzystać ale nie wiem czemu tak jest.
Ciężko mi wyszukać po angielsku jak opisać problem żeby to wyszukało. MINGW showing a lot of bollocs alongside normal text jakoś mi nie pomogło (xd)
#symfony
Phatee - Korzysta ktoś może z Symony na Windowsie i wie czemu w konsoli MINGW64 tekst...

źródło: comment_1603399934pxz5NRBa7dcAKdzBEXHPUq.jpg

Pobierz
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@Phatee zmień konsole na obsługującą kolory albo poszukaj czy symfony nie ma przełącznika typu batch mode albo coś takiego. W Mavenie taki jest i wyłącza kolorowanie wyjścia
  • Odpowiedz