Mireczki, niedawno skończyłem czytać "PHP i MySQL. Tworzenie stron WWW", zrobiłem też kilka prostych projektów z użyciem tego języka i baz, pobawiłem się też w ajaxa.

Jaką solidną książkę dotyczącą któregoś z popularniejszych frameworków (laravel, zend, symfony2?) byście mi polecili, co by złapać jako takie pojęcie z czym to się je?
Wiem, że jest dokumentacja, ale najpierw potrzebuję omówienia czym jest framework, jak go efektywnie używać itd., a to wolę w wersji
@qwelukasz: OK. Ale masz źle znormalizowany schemat. Dochodzi do redundancji danych.
Dodając do tego linie autobusowe wygląda to mniej więcej tak: Arrivals(BusStopId, LineId, Time)
I teraz mając BusStopId możesz sprawdzić jakie linie tam idą i o której godzinie ( informacje z tabliczki ) a czas jest w jednym miejscu.
  • Odpowiedz
#symfony2 #webdev hej, czy są tutaj jacyś freelancerzy Symfony2? Potrzebujemy pomocy w projektach. Rozliczamy wszystko godzinowo (time&material). Fajna dostępność dla nas to od 10 godzin tygodniowo. Najlepiej proszę o kontakt na praca@yasecure.pl - wtedy od razu podeślemy więcej info ( ͡° ͜ʖ ͡°)
#webdev #symfony2 #propel jaka wersja propela dla symfony 2.7? zainstalowałem propela 1.2 i mam z dupy błąd

Compile Error: Declaration of Propel\PropelBundle\Request\ParamConverter\PropelParamConverter::apply() must be compatible with Sensio\Bundle\FrameworkExtraBundle\Request\ParamConverter\ParamConverterInterface::apply(Symfony\Component\HttpFoundation\Request $request, Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter $configuration)
@qwelukasz: Generalnie powinieneś pakować to w paczki (po powiedzmy 50 obiektów jeśli jeszcze tego nie robisz), a po flushu warto przeiterować po tych obiektach i zrobić na nich

$entityManager->detach($object);
Wtedy Garbage Collector będzie mógł od razu je zgarnąć i posprzątać, w innym przypadku siedzą w pamięci niepotrzebne obiekty.

edit: ewentualnie po flushu zrób $em->clear(); który #!$%@? wszystkie obiekty w EM
  • Odpowiedz
@qwelukasz: na devie system zbiera bardzo dużo informacji przydatnych do debugowania i za każdym razem przeładowuje konfiguracje, której nie #!$%@?. Zrób również php app/console cache:warmup --env=prod przed wykonaniem komendy. Znacznie przyspiesza całość aplikacji.
  • Odpowiedz
@qwelukasz: Raczej musisz mieć jeszcze pośrednie entity, które pozwoli Ci na definiowanie choćby kolejności przystanku w linii. Nie mówiąc o innych pierdołach, np. czy przystanek występuje w jedną stronę, czy w dwie. Może też tak być, iż powrót będzie realizowany trochę inną drogą, a obecna relacja nie pozwoli Ci na duplikaty.
  • Odpowiedz
to ManyToMany ;), ale wtedy weź pod uwagę, że informacje zapisane w BusStop, takie jak: direction czy też number będą współdzielone dla wszystkich linii. Dlatego proponowałem Ci encję, która będzie pośredniczyła pomiędzy linią a przystankiem.
  • Odpowiedz
Yesterday, I told you that 2.7 comes with an unexpected surprise... Symfony has now early built-in support for PSR-7


No błagam, ktoś o tym nie wiedział? Damn, a czekałem podjarany co za niespodziankę wymyślili :D
  • Odpowiedz
#symfony #symfony2 #doctrine #mysql #postgresql

Taka sprawa... chcę użyć innego niż domyślnego (public) schematu z #pgsql.
Doczytałem, że można to zrobić przez annotacje @Table(schema="schema") ale to jest dosyć "statyczne" rozwiązanie i byłoby lepiej/prościej wprowadzić ten parametr jako parametr w parameters.yml niźli dla każdej encji osobno... (Annotacja w encji mogłaby nadpisywać dla danej encji schemat).
Jak to zrobić
Przeklejam z fejsa i polecam tę firmę, miałem przyjemność współpracować. :)

Poszukujemy developerów w następujących specjalizacjach:
- iOS (Junior/Senior level), widełki 9-12k netto PLN na miesiąc (biuro w Warszawie, startupowa atmosfera);
- .NET - samodzielni programiści, 8k netto PLN na miesiąc (biuro w Warszawie, fajny zespół);
- PHP/Symfony 2, biuro w Warszawie, startup, 6-8k netto PLN, (startup, super zespół);
m.....i - Przeklejam z fejsa i polecam tę firmę, miałem przyjemność współpracować. :)...

źródło: comment_q4ZtYpHGHlaTb1MJ3ICODndAWVbAz3An.jpg

Pobierz
@qwelukasz: potrzebujesz user bundle? Z doświadczenia wiem że to się zawsze #!$%@?ło. Zobacz czy na pewno masz odpowiednie bundle w composerze, zobacz czy wszystkie kroki wykonałeś podczas instalacji
  • Odpowiedz
Próbuj elegancko ogarnąć serializacje złożonych obiektów w PHP z użyciem serializera JMS. Chodzi o to, że w niektórych akcjach chcę mieć dzieci do trzeciego poziomu, w innych do pierwszego. W niektórych chcę wykluczyć pewne pola itd. Czy istnieje jakieś praktyczne rozwiązanie problemu, czy pozostaje mi robienie grup serializacji per akcja/endpoint, które jest godne najwyżej programistów laravela? Myślałem nad napisaniem customowej strategii, ale nie mam pomysłu jak to rozwiązać żeby było prawilnie. Oczywiście
@Cilthal: Masz obiekt z relacjami. W jednym widoku chce wyswietlic ten obiekt i drzewo relacji, w drugim chce pominac relacje. O ile w przypadku dwoch widokow robie dwie grupy, to w przypadku kilkudziesieciu widokow (endpointow) jest to rozwiazanie unmaintanable.
  • Odpowiedz
@qwelukasz: to zależy. MySQL ma dopiero od wersji 5.7 potrafić indeksować dane geometryczne przechowywane w InnoDb, więc jeżeli to był Twój plan, to musisz poczekać. Jeżeli natomiast będą to tylko i wyłącznie lat/lng i nie planujesz stosować jakichś super skomplikowanych operacji, możesz użyć do tego celu decimal/float spokojnie ze zwykłym indeksem.
  • Odpowiedz
#sf2 #symfony2
http://symfony.com/doc/current/best_practices/web-assets.html

Czemu w web trzymać assety?
Czy jak trzymam w bundle/resources i zrobię symlinka to jest bardzo źle?
Wydaje mi się, że ten sposób jest łatwiejszy do ogarnięcia w przypadku kilku projektów w jednej instalacji. Dzięki temu mogę np. mieć kilka plików o takiej samej nazwie (np. main.css, sidebar.css, itp)..
chyba że w web zrobię web\MyBoundle\css ale i tak bym grupował ale nie widzę za bardzo
@qwelukasz: Tak. Ale lepiej skonfiguruj to globalnie, jeżeli chcesz go używać wszędzie. Ten szablon sprawia, że elementy html są dostosowane do bootstrapa (tj. mają odpowiednie klasy). Oprócz tego musisz oczywiście załadować jeszcze bootstrapa na własną rękę.
  • Odpowiedz
Tak. Ale lepiej skonfiguruj to globalnie, jeżeli chcesz go używać wszędzie.


@Damian1998: w sensie skopiować ten fragment kodu do szablonu głównego, po którym dziedziczę szablon strony?
Czy lepiej zrobić to z posiomu app/config/config.yml?
  • Odpowiedz