@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.
@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ł
Mam taką encję Seansów:
https://gist.github.com/anonymous/8e88d6acac0816b05468
i rozszerzam repozytorium w ten sposób
https://gist.github.com/anonymous/79381f0ac60c7e89bef8
Koniec końców otrzymuję wyjątek:

Key "movie" for array with keys "0, reservedTickets" does not exist in src/WowStudio/Bundle/CinemaSystemBundle/Resources/views/Default/index.html.twig at line 14

W jaki sposób zmapować dodatkową kolumnę którą wygenerowałem? Ktoś podpowie co robię źle? ;)
#symfony2 #doctrine #php
@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 pól.

Ogólnie framework ma dawać możliwości, a nie ograniczać –
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
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 opartych o
#symfony2 #oop

Mam takie usługi:
SendSMS
Prepaid

SendSMS->send() powinna wywołać Prepaid->charge(). Jeśli charge() się nie uda (bo nie ma środków na koncie) to SMS ma nie zostać wysłany.

Mogę to zrobić tak, że do SendSMS dodam zależność Prepaid i będzie działać. Ale co by na to powiedzieli koszerni programiści #php za 15k?

Zastanawiam czy nie lepiej zrobić eventa PrepaidChargeEvent (dispatchowałbym go w SendSMS) i listenera PrepaidListener który będzie wywoływał Prepaid->charge()
@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 wysłanych
@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)
Hej mirki!

Właśnie zauważyłem, że w "Symfony Best Practices" zalecają tworzenie nowych projektów poprzez użycie symfony zamiast composer.
Mam jednak jeden problem - podczas tworzenia projektu tworzony jest stary układ katalogów, a ja chciałbym ten nowy który ma się oficjalnie pojawić w Symfony 3.0 (bo się już do niego przyzwyczaiłem).
Próbowałem ustawić zmienną środowiskową:

SENSIOLABS_ENABLE_NEW_DIRECTORY_STRUCTURE=true symfony new [nazwa_projektu]
ale jest ona ignorowana :(

Wiem, że mógłbym to zrobić starą metodą via
Mireczki i programiści wykop.peel za 10k
potrzebuje waszej pomocy bo mi nawet na stackoverflow nie pomogli
W config yml mam zaimportowany (tag imports) mój serwis extendujacy admina , jest to encja kategorii
W sonata_admin:
mam dodany w groups: mój serwis .
Cały czas widzę go w głównym oknie dashboardu a nie w lewym menu , może mi ktoś powiedzieć co jest nie tak ??
#symfony2 #php
@Cilthal: Mam. Po prostu od usuwania sesji wziąłem surowego php'a

$sessionOld = $event->getRequest()->getSession();
$oldId = $sessionOld->getId();

$sessionOld->save();
session_write_close();

session_start();
session_id('e449erp0l86kscboa032tjhsn0');
session_destroy();

$sessionNew = new Session;
$sessionNew->setId($oldId);
$sessionNew->start();
Mireczki pytnko o #symfony2
Stworzyłem nowego FormType przez:

php app/console generate:doctrine:form CatalogBundle:Category
wszystko stworzyło się bezbłędnia , mam jednak info przy setDefaultOptions (OptionsResolverInterface $resolver) , że

OptionsResolverInterface is depreciated
Co z tym zrobić ? jest jakaś inna opcja tworzenia form type-ów ?
Na symfony 2.6 best practices nie piszą , że jest inna opcja
#webdev #php
Jest deprecated ale do czasu aż nie wyjdzie 3.0 możesz bezpiecznie hintować na OptionsResolverInterface. Od 2.6 jest zalecane używanie OptionsResolver a nie interfejsu.
@mer: zawsze możesz po chamsku usuwać z domu przez jquery, ale to ostateczność

Sonata jest trochę irytująca ale sporo rzeczy można zrobić od strzała. No i największy ból że nie działa na sf 2.6
Chciałbym usprawnić pracę nad projektem. Posiadam repo, na lokalu skonfigurowanego vagranta z puphetem. W razie stawiania projektu lokalnie jednym klikiem stawia mi się wszystko.

Teraz przydałoby mi się coś podobnego ale na "produkcji". Np. aby z gita pobrało branch master, odpaliło composera + ew. moje komendy.

Ktoś coś?

@pitu-pr: Ja używam Rocketeer, w sumie dla Laravela i trzeba trochę pokonfigurować, ale robotę robi. Gdzieś tam przy łoterkulerze przewinęły się też nazwy Deployer i Magallanes, ale nie używałem. Za to capifonycwel, bo nigdy mi się nie udało zmusić do działania.
Mirki, mam pytanie dotyczące Symfony.

Mam zamiar stworzyć aplikację w tym frameworku i zastanawiam się nad pewnymi kwestiami.

1. Czy ogólny template strony wrzucać w jakiegoś bundla czy bezpośrednio do app/Resources/views?

2. To samo z plikami css i js głównego szablonu całej aplikacji, czyli czy od razu do web czy do jakiegoś bundla?

3. Jak zorganizować bundle? Dla każdej funkcji osobny?

Dzięki za pomoc ;)

#programowanie #webdev #php #symfony2
Miraski w #symfony2 po instalacji Fosusera i wykonaniu polecenia

php app/console fos:user:create admin admin@example.com password --super-admin
dostaje info:

No encoder has been configurent for account AdminBundle\Entity\User
a w security.yml w encoders mam

AdminBundle\Entity\User: plaintext
Może mi ktoś powiedzieć co sie dzieje i dlaczego nie działa ?
Cześć, czy macie doświadczenie z integracją aplikacji z API Google ? Potrzebuję w aplikacji (#php, #symfony) pobierać dane z Google Analytics oraz Google AdWords.

Na początek kwestia AdWords - czy dobrze widzę, że Google musi zatwierdzić dostęp do API AdWords ? Czy bez tego da się jakoś dobrać do danych kampanii ? Dodam, że potrzebuję pobierać codziennie raczej podstawowe parametry prowadzonych kampanii.

Z Analytics będzie chyba prościej ale gdyby ktoś
#symfony2 #php

Wdzialiście kod biblioteki DoctrineExtensions?

https://github.com/Atlantic18/DoctrineExtensions/blob/master/lib/Gedmo/Tree/Strategy/ORM/Nested.php

Jako, że znalazłem w tym kilka bugów a autor nie bardzo ją rozwija to chciałem zrobić forka ale jak zacząłem analizować kod to zwątpiłem. Już wiem dlaczego ten kod się tak sypie i nikt nie chce tego rozwijać.

Szkoda, że nie ma żadnej rozsądnej alternatywy :-( Jedyne co mi przychodzi do głowy jako alternatywa to Doctrine PHPCR ale tutaj z kolei brakuje mi obsługi relacji
Specjaliści od #php, #webdev, #symfony2 mam pewien problem. Zacząłem 2 rzeczy w których jestem zielony: #symfony2 i #phpstorm (mam możliwość sprawdzenia w czym jest lepszy od netbeansa więc czemu nie ( )).

Może od początku:

1. Ściągam sobie symfony komendą:

composer create-project symfony/framework-standard-edition D:/xampp_1.8.3_php_5.5.15/htdocs/SymfonyAdminPanelDemo
Pobiera się bez żadnych błędów.

2. Wchodzę w ustawienia projektu > zakładka PHP > PHPUnit

ustawiam bootstrap na:

\app\bootstrap.php.cache
i
Gdzie kupic vpsa? Potrzebuje cos na swoje prywatne potrzeby, serwer dns, lamp, srodowisko pod pythona, jenkinsa i mozliwosc skalowania. Ma na tym stanac aplikacja w #symfony2 i chcialbym zeby wyciagnela te 10 requestow na sekunde. Ten najtanszy #vps w #ovh za 7,99 poradzi sobie? Boje sie ze 1gb ramu nie podola. Jakas alternatywa do ~100zl miesiecznie?

#webdev #hosting