• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Symfony 3.4 - code review

Object Storage Arubacloud
0 głosów
301 wizyt
pytanie zadane 21 października 2019 w PHP przez niezalogowany

hej, chcialbym prosić o code review dla crud'a wykonanego przy pomocy symfony.

https://github.com/lupik2/symfony-crud

2 odpowiedzi

0 głosów
odpowiedź 21 października 2019 przez michal_php Stary wyjadacz (13,700 p.)
nie można zrobić route /auction/{id} - dlaczego?

Jakie błędy Ci pokazuje Symfony.

Ogólnie taka mała uwaga jak będziesz robić potężną aplikacje w Symfony i wszystko w route będziesz opisywać {id} to w końcu się zgubisz jakie to id.Dużo łatwiej jak byś dał zamian id np:{auction}.Tutaj tego problemu nie masz ,ale uwierz ,że warto w dużych projektach.

w bazie pojawi sie kolumna owner_id , skąd taka nazwa?

Ponieważ sam zdefiniowałeś ,że to klucz w encji Users:

/**
     * @var Auction[]|ArrayCollection  
     *
     * @ORM\OneToMany(targetEntity="Auction", mappedBy="owner")
     * @ORM\JoinColumn(name="owner_id", referencedColumnName="id")
     */
    private $auctions;

 Ogólnie jest git ,ale staraj się komentować po angielsku.

komentarz 21 października 2019 przez niezalogowany
Dziękuje za odpowiedź! :)

Własnie jak zmieniałem @ORM\JoinColumn(name="owner_id") z owner_id na inna nazwę to po aktualizacji schematu nazwa wcale się nie zmieniła, może jakichś cache?

Kolejna sprawa to klucze obce, w jaki sposób mogę zrobić powiązania aby podczas edycji / usuwania rodzica wszystkie relacje również się zmieniały bądź usuwały?
Nie mogę tego znaleźć.
0 głosów
odpowiedź 21 października 2019 przez UltraSF Stary wyjadacz (11,740 p.)

1. Czemu nie Symfony4?
2. Niespójne typowanie
3. `public function onceAction(/*$id*/ Auction $auction)` nie widzę sensu tego komentarza, wyżej jest przecież cały route

        $finishForm = $this->createForm(
            FinishAuctionType::class,
            null,
            [
                'action' => $this->generateUrl(
                    "myauction_finish",
                    ["id" => $auction->getId()]
                ),
            ]
        );

dużo czytelniej dawać akcje jako html w twig'u,

5. Spróbuj zrobić autoryzacje bez FOS, fos wiecej utrudnia niż pomaga, a to nie jest trudne :D
6. Form gdzie masz tylko submit jes serio jest bez sensu, wgl submit w form jest bez sensu xd
7. Nie rozumiem sensu istnienia tych factory

8. Brak testów

9. Za duże commity, więcej drobnych poprawiających/dodających daną funkcjonalność :)

 

komentarz 21 października 2019 przez UltraSF Stary wyjadacz (11,740 p.)
Dobra raczej brak typowania XD
komentarz 21 października 2019 przez niezalogowany

@UltraSF,

1. bo zacząłem ten projekt na 3 i jakoś tak już poszło ale masz racje, spróbuje go przerobić na 4.
2. Tak wiem, jeden z grzechów ciężkich, poprawie to.

3. Komentarz to niedopatrzenie po wcześniejszym rozwiązaniu, zapomnialem go usunac.

5. Okej postaram się to wdrożyć.

6. To akurat jest wynik kursu, który przerobiłem. Pokazywane tam było rozwiązanie, które miało sprawić, ze aplikacja bedzie bezpieczeniejsza. Pytanie w takim razie jak dojść do rozwiązania problemu bez używania form > submit?
Zrobić formularzb ezpośrednio w twigu czy może w ogóle pozbyć się formularza?

7.Fabryka została wprowadzona po to aby w razie zmian w klasie encji, która tworzy np w konstruktorze (dodanie parametru) nie będę musiał zmieniać wszystkich definicji w całym projekcie, a jedynie w tej fabryce. Np: w momencie dodania jakieś zależności (DI)

8. To jest fakt.

9. Postaram się zadbać o to aby były mniejsze.

komentarz 21 października 2019 przez UltraSF Stary wyjadacz (11,740 p.)

na samym początku dużo się nauczyłem z oficjalnego demo:
https://github.com/symfony/demo
Nie jest idealny, ale na początek powinno znacznie pomóc i zobaczysz jak robić lepsze formy, subscribery  itd.

7.  nie rozumiem encje nie mają zależności, a raczej nie powinny i do tej pory się nie spotkałem :O 

Podobne pytania

+1 głos
0 odpowiedzi 263 wizyt
pytanie zadane 9 kwietnia 2021 w PHP przez Lopus Początkujący (360 p.)
+1 głos
2 odpowiedzi 357 wizyt
pytanie zadane 17 czerwca 2017 w PHP przez Marduczek Użytkownik (520 p.)
0 głosów
1 odpowiedź 269 wizyt
pytanie zadane 19 stycznia 2019 w PHP przez niezalogowany

92,555 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,941 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...