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

Symfony - zapis danych do bazy

Object Storage Arubacloud
0 głosów
259 wizyt
pytanie zadane 20 września 2020 w PHP przez mi-20 Stary wyjadacz (13,190 p.)

Cześć, czy jest jakiś sposób na szybki zapis danych do bazy w symfony? Chodzi o to żeby nie pisać

$p = new Post()
$p->setTitle($data['title'])
$p->setContent($data['content'])
...

tylko zrobić to w sposób podobny jak w laravel

Post::create($data)

i druga rzecz, pisząc api w symfony w jaki sposób mam sprawdzać poprawność otrzymywanych danych?

3 odpowiedzi

+3 głosów
odpowiedź 20 września 2020 przez Ehlert Ekspert (212,670 p.)
Co do tworzenia obiektów. Metody prezentowane przez larvę są skuteczne i sprawdzają się w przypadku prostych case'ów. Mimo wszystko najlepiej, tworzyć obiekt samodzielnie. Nie używasz do tego magicznego create, wywołań x setterów. Tworzenie obiektu przez konstruktor, który wymaga parametrów pokazuje co jest konieczne do istnienia takiej struktury. Nierzadko ma to istotne znaczenie w modelowaniu realiów biznesowych w kodzie.

Aby przyspieszyć tworzenie możesz użyć swojego Type i zdefiniować data_class.

Tworząc api korzystasz z Type'ów tak jak dla formularzy HTML.
0 głosów
odpowiedź 20 września 2020 przez kevin Mądrala (5,010 p.)
A zobacz ApiPlatform https://api-platform.com/
komentarz 21 września 2020 przez Assasz Nałogowiec (30,460 p.)
O ile API Platform ma całkiem nieźle zintegrowanego serializera, który potrafi budować obiekty w locie, o tyle myślę, że będzie to za duży orzech do rozgryzienia dla kogoś, kto dopiero uczy się podstaw Symfony.
0 głosów
odpowiedź 21 września 2020 przez dayvu Obywatel (1,470 p.)
edycja 21 września 2020 przez dayvu

Jest na to prosty sposób, ale wygląda on trochę inaczej. Najprościej można do tego dojść w kilku prostych krokach:

1. Konfigurujemy połączenie z bazą (na początku testową oczywiście)

2. Uruchamiamy komendy

  • bin/console make:entity EntityName
  • bin/console make:migration
  • bin/console doctrine:migrations:migrate
  • bin/console make:crud EntityName

Dzięki temu wygenerujemy: klasy Entity, klasy Repository, klasy Controller (schemat CRUD), tabele w bazie.
Teraz sprawdzając wygenerowany kod, można łatwo do odpowiedzi na powyższe pytanie dojść.
Pomijam szczegóły typu instalacja dodatków do projektu, ale będzie widać podczas uruchamiania komend lub można doczytać w dokumentacji.

Podobne pytania

0 głosów
1 odpowiedź 299 wizyt
pytanie zadane 15 października 2016 w PHP przez Captivity Obywatel (1,030 p.)
0 głosów
0 odpowiedzi 134 wizyt
0 głosów
1 odpowiedź 216 wizyt
pytanie zadane 26 września 2016 w PHP przez GaCeL Dyskutant (7,500 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,942 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!

...