Witam mirków z #php i #symfony2 #symfony #webdev #webdevhelp
Mam w bazie danych tabelę user. Są już tam użytkownicy, teraz chcę dodać kolumnę slug, która musi być unikalna (będę tego używał do wyświetlania nazwy użytkownika w pasku adresu). W encji piszę takie coś:

/**
*
*
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mariecziek: chodziło mi o to, że generalnie na produkcji nie używa się raczej schema:update tylko właśnie migracji. Powinieneś przygotować migrację która utworzy kolumnę "slug" (nie unique), następnie ją uzupełni po czym ustawi odpowiedni indeks unikalny.
  • Odpowiedz
@qwelukasz:

1. Społeczność (gugle, stackoverflow, irc – szybko znaleźć można odpowiedź)
2. Dokumentacja
3. Stabilność (jasna polityka kompatybilności wstecznej)
4. Oparcie się o
  • Odpowiedz
Witajcie mirki.
Moje zapytanie SQL zwraca mi błędny wynik. Mam w bazie danych 3 tabele: user, product, vote. Chcę z tabeli pobrać wszystkich użytkowników wraz z ich produktami i ilością głosów oddanych na każdego użytkownika. W tym celu napisałem taki SQL:
SELECT
u.id,
v.id,
p.id,
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#symfony #php

Mam entity Cost które powiedzmy ma dwa pola 'value' i 'currency'. Teraz, jeśli currency jest jakieś tam to value powinno skopiować wartość z innego entity, powiedzmy Fee->smallFee.

Czyli zmieniam currency w Cost na EUR i mi się w pole value kopiuje wartość smallFee z entity Fee.

onPersist częściowo rozwiązuje problem bo potrzebuję wyświetlać te zmiany przed zapisaniem do bazy.
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jaka będzie najlepsza praktyka odnośnie umiejscawiania walidacji? Przeczytałem że nie jest najlepszą praktyką używać adnotacji do tego, ale z drugiej strony w dokumentacji robią to adnotacjami.
#symfony #symfony2
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@GeneralX:

1. Piszesz kod domenowy – ustalasz „inwarianty” – przydają się ValueObjects.
2. Piszesz UI, robisz jak najwięcej walidacji HTML5+JS => żeby użytkownik miał szybki feedback, a nie jakieś średniowieczne przeładowania strony.
3. To, czego nie pokryłeś w walidacji po stronie przeglądarki, uzupełniasz walidacją
  • Odpowiedz
@GeneralX: A jeśli pytasz o format reguł walidacji: osobiście preferuję ustalać je bezpośrednio przy robieniu Form Typea – chyba, że mam jakieś ładne DTO dla formularza, to być może zdecydowałbym się na annotacje albo Yamle (w jednym projekcie używamy Yamli – tylko minus jest taki, że trzeba grepować, żeby dowiedzieć się czy są jakieś reguły zdefiniowane – więc chyba pokusiłbym się przy następnym do annotacji).
  • Odpowiedz
aby zdobyć token musi najpierw mieć clientid oraz clientsecret a co za tym idzie najpierw musi się zalogować by pobrać te dane.


@qwelukasz: Generalnie to nie jest pytanie odnośnie Symfonowych Bundli, tylko ogólnie na temat OAuth.

ClientId i ClientSecret to nie są dane identyfikujące użytkownika, tylko aplikację
  • Odpowiedz
@qwelukasz: grunt, ponieważ to jest uniwersalne narzędzie, nie zależnie od języka programowania. Jest szerszy pakiet pluginów.

A to co mówisz to bzdura, ustawiasz sobie watcha na pliki, i sam wykrywa zmiany, automatycznie generujac nowy plik
  • Odpowiedz
#NieDlaKlepaczyKodu:Symfony: Różne sposoby na strony błędów w kontrolerach

#niedlaklepaczykodusymfony <<< Subskrybuj ten tag po więcej albo czarnolistuj, jeśli nie chcesz widzieć wpisów z tej serii. Więcej info na dole wpisu.

Symfonowe kontrolery działają w ramach abstrakcji HTTP: przyjmują „żądanie” (reprezentowane przez obiekt Request) i zwracają „odpowiedź”
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam funkcję która w jakiś sposób łączy dwie tablice.
Czy powinienem ja zarejestrować jako serwis czy np w utils\klasa.php i tak ja wywoływać?
#symfony2 #symfony
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@qwelukasz: ogólnie to wygląda tak: jeżeli zawsze używasz tej samej funkcji łączącej, to używasz jej przez normalnie. Jeżeli chcesz używać wielu funkcji łączących, które działają inaczej w zależności od potrzeb (np. w innym programie albo w testach jednostkowych), to korzystasz z kontenera.
  • Odpowiedz
@qwelukasz: OK, więc masz narzędzie, które robi jakiś bajer z danymi.

Jeśli to narzędzie potrzebuje konfigurowania => leci jako usługa.

Jeśli to narzędzie jest „podmienialne” (np twoje narzędzie nazywa się Bar i w Foo możemy chcieć je podmienić na inne), to zasługuje na bycie wstrzykiwalną usługą.

Jeśli nie musi być konfigurowane, nie przewidujesz, żeby miało być podmienialne –> może być klasa z metodami statycznymi.
  • Odpowiedz
#symfony2 #symfony #php

Mam encje Exchange która zawiera przelicznik waluty (dodawne przez admina/moderatora).
Chce aby przy każdym dodaniu (postPersist) oraz po każdej edycji (postUpdate) uruchamiana była akcja/skrypt który dla danej waluty przeliczy w bazie prowizje ze sprzedaży.

Zrobiłem to na event listenerze ale w takim wypadku ten event bedzie uruchamiany przy każdej edycji encji - nie tylko Exchange. Czy macie jakieś
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@qwelukasz: dobra rada - nie używaj doctrinowych eventów, one służą do zupełnie czego innego niż logika biznesowa, napisz sobie własny event, obsłuż go event listenerem z symfony, zrób to w miarę jawnie, a nie doctrinową magią, bo potem dostaniesz raka debugując te wszystkie doctrinowe eventy
  • Odpowiedz
@poh: no wiem, wordpress szybszy ;p chodzi mi o to że bez sensu stosować coś stosunkowo szybkiego(vuejs) z tak wolną kobyłą jaką jest symfony(obok laravela najwolniejszy framework php na rynku)
  • Odpowiedz
@Jurigag: ale przecież w tym Pagekit nie ma frameworka Symfony. Są wyłącznie użyte jego komponenty. Tego już Ci się nie chciało doczytać? ( ͡° ͜ʖ ͡°)
  • Odpowiedz
Cześć Mirki, szukamy programisty #php (70% czasu pracy) z funkcją #frontend dewelopera (jakieś 30% czasu) - pociąć, ułożyć itp.

PRACA ZDALNA

Obowiązkowe:
- bardzo dobra znajomość PHP w wersji 5,
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czym będziesz się zajmował? Dołączysz do zespołu jako drugi programista PHP


@Zdalny: Pewnie jak zwykle się czepiam, ale to w sumie nic nie mówi. Spodziewałbym się, że jako programista PHP będę pisał kod PHP. Ale czy to będą sklepy, jakieś proste formularze kontaktu, czy nowe allegro?
  • Odpowiedz
@anonim1133: Sorki, masz rację nie napisałem. Nie będziesz pisał sklepów, tylko nowe serwisy. Nie ma to nic wspólnego ze sklepami czy przerabianiem CMSów itp.
  • Odpowiedz
Czy w getterze (zwraca ArrayCollection) sensowniej używać filter() czy Criteria? Wydaje mi się że filter bo Criteria operuje na bazie?


@gajowy_marucha: Zależy jaki efekt chcesz uzyskać.

Używając filter czy też samemu iterując i wybierając elementy => pobierzesz wszystkie rekordy z bazy. Raczej to nie przeszkadza, ostatnio robię tak z 800–rekordami i
  • Odpowiedz
#symfony #php mirki rozkminiam symfony i mam taki problem a dokladnie w #doctrine. Mam Encje event ktora ma relacje one to many z encja member. Dodatkowo encja Event ma pole quantity ktore okresla ile osob moze zapisac sie do wydarzenia. I teraz zastanawiam sie jak stworzyc zapytanie ktore zrobi cos w stylu where quantity < member.length gdzie member.length to ilosc powiazan z eventem. Ktoś mógłby
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach