#symfony2 #symfony
Mireczki czy symfony jest w stanie automatycznie wstrzykiwać zależności w taki sposób:

function cos(IPerson $person){

// zmienna $person będzie zawierała już wstrzykniętą zależność.
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki z #webdev a moze $webdev ( ͡° ͜ʖ ͡°)
Chcę napisać sklep internetowy na #symfony2
Myślicie , że jest sens się w to pakować i pisać od zera czy lepiej wykorzystać jakieś magento/presta i dłubać ?

Jakie Bundle byście mogli polećić oprócz sonaty , fosusera , korzystał ktoś z syliusCartBundle ?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Szukam staży/praktyk w Warszawie znam trochę framework Symfony2 i w tym kierunku chciałbym iść. Gdzie przyjmują na takie staże?
#symfony2
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jaki moglibyście polecić współdzielony serwer pod Symfony2? Chodzi mi głównie o obsługę acl, własnego php.ini itp. żeby jako tako to chodziło.
Pojemność dysku min. 30GB. Budżet trochę mały, tak do 200 zł rocznie.
Znalazłem https://www.netdc.pl ma ktoś jakieś doświadczenia z serwerami tej firmy? Ewentualnie gdzie trzymacie swoje / klientów strony na Symfony za wyjątkiem dedyków i jak się te serwery sprawują?

#hosting #serwery #symfony2 #webdev
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Domons:
nie acl tylko APC,
po drugie APC nie ma już sensu, bo to martwy projekt. lepiej używać PHP 5.5+ z Zend OPcache
po trzecie nawet jak współdzielone mają takie wynalazki, to upewnij się że z tego coś skorzystasz, zwróc uwagę czy limity pamięci opcache są globalne czy per konto. bo jak globalne, to zwykle i tak bardziej ruchliwe serwisy zajmą pamięć a dla Ciebie nic nie zostanie

imo Symfony
  • Odpowiedz
@anonim1133: dev/prod to tryb/środowisko pracy Symfony. W trybie dev masz pełne debugowanie i analizę requestów, a to zjada procek i pamięć - dlatego jest mniej wydajne.
Po "zrobieniu" aplikacji przełączamy się w tryb produkcyjny, który jest pozbawiony wszystkich zbędnych pierdół i działa dużo szybciej.
  • Odpowiedz
Kwestia jak dużą aplikację piszesz.
Ja przeważnie dzielę sobie na większe moduły tzn UserBundle, NewsBundle, ForumBundle etc, lecz jak chcesz mieć "bardziej" Pofragmentowane sobie robisz tak jak 2 metoda, czyli na przykład ForumAdminBundle etc.
  • Odpowiedz
Mirki, kolejny mój problem z zakresu programowania Symfony2.

Mam problem z Twigiem i za nic nie wiem jak go rozwiązać. Całość przedstawia się następująco:
Zakładamy, że dla uproszeczenia przykładu istnieją 3 pliki: head, layout, stronaGłówna.

W pliku head mamy całą sekcje head strony, w tym {% block title %} {% endblock %}, w którym zawiera się tytuł strony.
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#symfony2 #php
Jakaś literatura o pisaniu testów jednostkowych kontrolerów powiązanych z bazą?
Pomijając cockbook oczywiście.
  • 21
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mer: krzykaczowi chodzi o to, ze doctrine jest przetestowany i nie ma sensu testowac go drugi raz. Jesli piszesz metode ktora wybiera najmniejsza liczbe i pobiera z bazy ten element, to testujesz tylko wybieranie liczby a nie samo pobieranie.
  • Odpowiedz
@mer: Jak masz całą logikę w kontrolerze to już tutaj jest błąd – mieszanie warstw, łamanie SRP.

Czemu to błąd? Bo im więcej logiki skupionej w jednym miejscu, tym trudniej się to testuje. Kontroler odpowiada za komunikację po warstwie HTTP – zdobywa Request, odpala warstwę modelu, żeby coś zrobiła, zwraca Response z wynikiem.

Wtedy testując kontroler sprawdzasz czy poprawnie się komunikuje (np czy dobrze odczytał dane z Requesta i uruchomił odpowiednią
  • Odpowiedz
@ghost1511: Doctrine korzysta z refleksji, żeby ustalić wartości pól – możesz mieć same gettery i brak setterów – Doctrine sobie poradzi.

Jaka jest więc zasada? Robisz gettery/settery tylko i wyłącznie te, z których faktycznie chcesz korzystać.

Nie będziesz ustalać ID? Nie rób settera. Masz powiedzmy $firstName i $lastName, ale pobierać będziesz tylko połączoną nazwę? Zrób getFullName() i olej gettery do pojedynczych
  • Odpowiedz
Mireczki Kochane i programiści php ( ͡° ʖ̯ ͡°)
Tworzę w Sonata Admin klasę Formularza , ma ona na Celu dodawanie nowej kategorii do tabeli categories w układzie
(categoryid ,name,alias,parentid)
No i Dodałem główną kategorie , która nie ma parenta czyli jest początkiem drzewa.
Teraz zaczynają się schody, jak mam pobrać teraz id kategorii z bazy danych abym mógł zrobić selecta do wyboru rodzica , tzn czy kategoria ma być jakimś
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pytanko do developerów #php: chciałbym nieco podciągnąć się w programowaniu i pomyślałem, że dobrze by było odświeżyć nieco PHP właśnie. Jako, że moja znajomość tego języka ogranicza się do prostych funkcji i proceduralnych skryptów, do tego pisanych z wykorzystaniem złych nawyków, to pomyślałem, że dobrze by było zacząć od nauki czegoś sensowniejszego.

Przyszło mi na myśl, że w sumie to chciałbym poznać nieco i nabrać praktyki w pisaniu aplikacji
  • 19
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Harry19911: ja bym zrobił klasę PrepaidSendSms która ma wstrzyknięte te dwie klasy, i ona odpowiada za wysłanie i pobranie środków z konta

skąd wiesz czy później nie będziesz potrzebował wysłac sma z jakichś punktów, albo rozliczał smsy na koniec okresu itd. itd. więc po co od razu robić klasę SendSMS taką ciężką

of course pewnie klasa SendSMS może dispatcheować jakieś eventy ale raczej powinno to służyć do jakiegoś general loga
  • Odpowiedz
@Harry19911: Plus dla @Jaslanin za dobre rozwiązanie – kompozycja. Masz jeden wyspecjalizowany obiekt do wysyłania SMSów, masz drugi wyspecjalizowany obiekt do płatności – zrób trzeci, który połączy te dwa zadania.

Twoje rozwiązanie – z wstrzykiwaniem obiektu płatności do wysyłacza SMSów – też uznałbym za akceptowalne, ALE pod warunkiem, że sygnaturę zależności uzależnisz od interface'u: tzn proponowałbym, żeby SendSms (BTW, czemu nie SmsSender?) dostawał w konstruktorze obiekt spełniający interface SmsSendAuthorizer->auhorize($this, $orWhateverYouNeed)
  • Odpowiedz