Siema mirki.
Robię taką trochę owijkę legacy code w komponenty symfony. Aktualnie jestem na etapie implementacji wstrzykiwania serwisów jako zależności do kontrolerów. Jednak w żadem sposób nie mogę wymusić automatycznego wstrzykiwania zależności (autowiring, autoconfigure), wszystko muszę opisywać w pliku services.yml, a i tak nie będę mógł później tego wstrzyknąć jako zależności do kontrolera.
Może ktoś, kto grzebał głębiej w symfony, będzie potrafił mi pomóc z tym?
W celu ułatwienia sprawy, dodaję repo
@mariecziek: Twoja usługa TestService też musi być zdefiniowana w services.yaml ze wszystkimi zależnościami i dopiero może być wstrzykiwana do kontrolera czy innych usług (tutaj public: true)
  • Odpowiedz
@picios: Tak, wiem, ale jeżeli w services.yml mam ustawione autowire: true, to wszystkie serwisy są ładowane do kontenera z tego pliku. Nie muszę tam rejestrować serwisów, jak to było w Symfony <3.3. One są rejestrowane automatycznie, na podstawie tego co jest zapisane w services.yml w linijkach 13-15. Mógłbym się z tobą zgodzić, gdyby do serwisu byłyby przekazywane jakieś argumenty w konstruktorze, ale serwis nie posiada konstruktora.
Kolejną rzeczą jest to,
  • Odpowiedz
Mirki, w jaki sposób serializujecie encje do JSONa?
Otóż mam sobie projekt na symfony 3.4. Mam zapytania ajaxem, które w odpowiedzi oczekują JSONa. Otóż jak otrzymałem ten projekt, to ktoś zwyczajnie w encji ustawił atrybuty klasy na public, bo wtedy można zamienić klasę na json przy pomocy json_encode. No ale moim zdaniem to jest bardzo zły pomysł. Postanowiłem skorzystać z Serializera od Symfony, jednak mam taki problem, że ciągle otrzymuję
#symfony4 #symfony #symfony3 #symfony2

Hej Mirasy,
wiecie może czy da się i jak to zrobić, aby impersonować użytkownika pod jednym firewallem (usługi klientów), ale nadal zachować poprzedniego (admina) pod innym firewallem (panel administracji)?
W tej chwili przełącza użytkownika całkowicie i tracę dostęp do admina, podczas gdy chciałbym impersonalizację wyłącznie od frontu.
Hej Mirasy.
Mam problem z konfiguracją w Symfony 4.
Potrzebuję nadpisać dbname dla connection default zdefiniowanego w config/packages/doctrine.yaml
Wrzucam je do config/packages/test/doctrine.yaml i nie nadpisuje mi jej przy odpaleniu środowiska testowego, niezależnie czy jest dodane jako doctrine:dbal:dbname czy doctrine:dbal:connections:default:dbname. Zastanawiam się czy to bug czy robię coś nie tak. W przypadku poprzednich wersji SF z config_test.yml to działało.

Dodam, że działa mi to "dobrze" jeśli zdefiniuję dodatkowe connection "test" w config/packages/doctrine.yaml
Mam projekt napisany w Symfony. Jest to jedna aplikacja, ale teraz mam takie wymaganie, że w zależności od hosta ma się zachowywać w inny sposób, tzn. jeżeli odpalona jest z xxx.com, to ma działać w jeden sposób, a jeżeli z yyy.com, to już ma działać w inny sposób, mimo że to nadal ta sama aplikacja. Jakieś pomysły?

#webdevhelp #webdev #symfony #symfony2 #php
@krystian873: W takim razie po pierwsze musisz oczywiście mieć skonfigurowany dostęp do tego zdalnego SQLa dla serwera na którym jest Symfony.

W poziomu Symfony z kolei konfigurujesz drugiego entity managera i normalnie możesz pobrać z jednego a zapisać w drugim. Nie musisz raczej robić dodatkowej encji. Na StackOverflow jest dużo tematów na ten temat, więc jeśli potrzebujesz szczegółów, to na pewno coś znajdziesz.
  • Odpowiedz
Mirki, potrzebuję pomocy. Trzeci dzień próbuję rozwiązać pewien problem i w żaden sposób mi się to nie udaje.

Powiedzmy mam 2 encje: Post i Tag. W encji Tag, w bazie danych mam zapisane tagi. Mogę je dodawać, mogę je usuwać. Każdy Post może mieć wiele tagów, ale tylko tych z listy tagów. Nie ma żadnego dynamicznego dodawania czy usuwania tagów. Tak więc zrobiłem to relacją ManyToMany. jednak przy próbie aktualizacji Posta, rzucało
Cześć. Kupię konsultacje z #symfony2 lub #symfony3
Muszę w ciągu kilku miesięcy zaprogramować aplikację webową. Sporo na pewno ogarnę sam, ale nic tak mi nie pomaga jak możliwość zadania kilku dziwnych pytań komuś z doświadczeniem. Zależy mi na opcji komunikacji mailowej i czatowej z gwarancją uzyskania choćby naprowadzającej odpowiedzi w ciągu kilku godzin (w dzień roboczy). Dostępność w weekend mile widziana, ale nie konieczna. Uczciwie będzie chyba rozliczać się za poświęcony czas.
@mariecziek: Jak chcesz zmienić wygląd danego pola to musisz nadpisać jego wygląd podobnie jak zrobiłeś to tutaj http://www.textsnip.com/kiokh0 . Zastanawia mnie jak to się stało, że działa Tobie to nadpisanie jak na końcu jest options, ale to chyba jest jakieś specyficzne zachowanie przy radio. Jak masz klasę EntityType to powinieneś nadpisywać bloki typu entitywidget, entity_label w zależności pod jaką nazwą w środku to określiłeś w samej klasie.

Możesz skorzystać z
  • Odpowiedz
W jaki sposób zrobić debounce jakiegoś zdarzenia na kolejce? Mam na myśli, że chciałbym opóźnić wysyłania o 15 minut jakiegoś kodu, w tym wypadku wysyłającego powiadomienia, aby nie dostał kilku nastu powiadomień o każdej najmniejszej zmianie, ale jedno zbiorcze z wszystkimi zmianami.
Mogę z każdym zdarzeniem uruchamiać locka ( https://symfony.com/blog/new-in-symfony-3-3-lock-component ) na 15 minut, a potem w cronie co 5 minu sprawdzać jakie powiadomienai do wysłania i je wysłać, ale coś mi
@Dzakus: wtf. Nie rozumiem co ty do mnie mówisz. Zrob po prostu table w bazie danych
, , , ,

I incrementuj za kazdym razem,
$updatedRows = UPDATE dupa set count = count +1 WHERE read date is null AND user = 66

if $updatedRows == 0 then INSERT INTO dupa VALUES(nextid, 666, dupa-event, 1, null)

Proste rozwiazania sa najlepsze.

Jesli to maja byc powiadomienia push np. do androida, do dodaj
  • Odpowiedz
Mirki potrzebuję pomocy z PHP.
Robię kumplowi stronkę i używam #symfony2 Mam listę przewoźników i chciałbym filtrować zawartość listy. Zrobiłem formularz z filtrami. Po wysłaniu formularza zapisuję go w sesji, a następnie uzupełniam query buildera danymi z formularza. Zawartośc formularza przechowuję w sesji (nic lepszego nie wymyśliłem). Jednak, żeby filtry pobrać z sesji i dodać je do formularza muszę wywołać $this->getDoctrine()->getManager()->merge($encja_z_formularza). Wszystko działało jak trzeba, gdy miałem relacje OneToMany/ManyToOne. Jednak teraz
@mariecziek próbujesz zrobić merge ArrayCollection - obiekt nie posiada informacji o mapowaniu. powinno być PersistentCollection z tego co się nie mylę. musisz to jakoś inaczej ogarnąć
  • Odpowiedz
Mirki jest taka sprawa, potrzebuję do zamówień w kinie w podsumowaniu wybranych miejsc wyświetlić w każdym wierszu odpowiadającym wybranemu miejscu - listę rozwijaną z wyborem ceny biletu dla danego miejsca (ulgowy, zwykły). Ale cholera kiedy robię pętlę wyświetlającą wybrane miejsca i próbuję wyświetlić listę, to pokazuje się ona tylko jeszcze raz. Jak to zrobić, aby wyświetliła się dla każdego? I w ogóle jak to później zbindować do każdego pojedynczego obiektu Ticket?

#
Siema, mam problem z #symfony2, a konkretnie 2.8. Po pobraniu aplikacji i przesłaniu jej na hosting, za fixa nie może się ona uruchomić poprawnie i dostaję błędy w stylu:

Fatal error: require(): Failed opening required '/storage/ssd4/938/1744938/vendor/composer/../symfony/phpunit-bridge/bootstrap.php' (include_path='.:/usr/share/pear:/usr/share/php') in /storage/ssd4/938/1744938/vendor/composer/autoload_real.php on line 66
Na localhoscie działa bez problemu. Hosting to https://www.000webhost.com/, korzystam póki co z wersji darmowej.
Nie mam dostępu do SSH.
Nie spotkałem się jeszcze z takim błędem i nie mam
#symfony2 #symfony3 #php

Chce przekazać dane z jednego kontrolera do drugiego.
// wiem że mogę to zrobić na sesji ale póki co chce to robić tak jak niżej...

$data = [
'u' => true,
's' => true,
'u' => true,
'n' => false,
]

return $this->forward(AppBundle:DefaultController', [], $data);
i teraz tam (w AppBundle:DefaultController) robie tak:

var_dump ( $request->query->all() ) // tutaj mam dane z $data
var_dump ( $request->request->all() ) // tutaj
#symfony #symfony2 #symfony3 #php #programowanie
jak stworzyć "reusable bundle"?

tutaj jest jak zacząć: http://stackoverflow.com/questions/21523481/symfony2-creating-own-vendor-bundle-project-and-git-strategy

trochę w dokumetancji: http://symfony.com/doc/current/bundles/best_practices.html

Natomiast moje pytanie jest: co dalej?
Jak je tworzyć/rozwijać mająć je w "vendros" a nie src?

Work on it
You can clone your DemoBundle in the src/Company folder, then manually install it
You can use symlink

czyli co? Robie symlink do paczki z vendor do katalogu src i tam działam?
@qwelukasz: jak zainstalujesz z composera z parametrem --prefer-source to mozesz sobie w katalogu w vendor/bundle zmieniac co chcesz i komitowac, ale osobiscie proponuje i stosuje inne podejscie. Oczywiscie zakladam, ze piszesz testy. Zrob katalog Tests/app, w ktorym zainstalujesz AppKernel i symfony, w ktore wepniesz swoj bundle. Mozesz wtedy odpalic tak stworzona appke w browserze, testowac funkcjonalnie i tak dalej. Pracuje wciaz nad tym, ale tu przyklad mojego kodu:

https://github.com/UirapuruDende/CalendarBundle/tree/master/Tests/app
  • Odpowiedz
Witajcie Mireczki, chciałbym Was dzisiaj zapytać czy macie jakieś materiały (artykuł, książki, case study itp.)związane z tworzeniem dużych serwisów internetowych. Informacje o budowie bazy danych, wyborze serwera/serwerów, problemach jakie mogę napotkać itp. Do tej pory robiłem głównie jakieś proste strony wizytówki. Nigdy nie miałem okazji do odczuwania problemów z wydajnością, nigdy też nie dzieliłem strony na oddzielne serwisy, które pracują na różnych maszynach. #php #webdev #symfony #symfony2
@odis: Poczytaj sobie coś z enterprise, integration, itp w nazwie, to wybijesz sobie pomysły związane z tworzeniem samemu "dużych serwisów internetowych". Ale z drugiej strony samodzielne przejście przez te problemy daje +1000 do zrozumienia.
  • Odpowiedz
@barretina: Zawsze coś tam można ogarnąć wcześniej żeby przynajmniej było o czym wspomnieć w czasie rozmowy. Temat całkiem ciekawy wg. mnie. Miałem okazję być na wykładzie Phpersów, gdzie była mowa o przetwarzeniu rozproszonym z wykorzystaniem komunikacji asynchronicznej na przykładzie gry GWINT.

https://www.slideshare.net/gogcomdev/gwint-przetwarzanie-rozproszone-z-wykorzystaniem-komunikacji-asynchronicznej-w-grze-online-phpcon-poland-2016-66668919
  • Odpowiedz
Elo Mireczky :D, mam problem z dynamicznym modyfikowaniem forma w Symfony3, robię wszystko według dokumentacji: http://symfony.com/doc/current/form/dynamic_form_modification.html#form-events-submitted-data

Mam 3 encje:
Marka
Model
Produkt

W formularzu dodawania produktu, chcę żeby po wybraniu Marki w polu Model pojawiły się jedynie te modele które są powiązane z wybraną marką. Zrobiłem wszystko tak jak w docsach, request AJAXA normalnie się wysyła, jednak nie zwraca mi powiązanych modeli, tylko taką strukurę HTML'a jak przed wybraniem marki, prawdopodobnie jest
  • Odpowiedz