Kdyby\Doctrine – entity a osetrenie vstupu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
yelidric
Člen | 33
+
0
-

Zdravim vas, s doctrinou zacinam, takze ak je to banalita sa ospravedlnujem ale mam otazku. Ked budem ukladat data do databazi musim si sam cez settre osetrit vstup? A ked pouzijem tu novu traitu MagicAccessors spravi to za mna? A ako je najlepsie pracovat s entitami?

Oli
Člen | 1215
+
+1
-

ANO, NE, nelze opovědět :)

  1. ošetřit vstup si musíš sám. Doctrine ti to ošetří jen velmi základně. Například vyhodí výjimku, pokud se budeš snažit uložit boolean do datetime.
  2. MagicAccessor se používá jen při prototypování. Až je entita pevně daná, tak se vytvoří settry a gettery a magicAccessor se smaže.
  3. Poslední otázku nechápu. S entitama je nejlepší pracovat jako se třídama. Odmyslet si, že na pozadí je nějaká databáze s vazbama, mapping entita-databaze za tebe řeší doctrine…
yelidric
Člen | 33
+
0
-

Ahoj, dakujem za odpoved. Odpovedal si na to na čo som sa pytal. Posledna otazka bola myslena, či napisat vlastne settre a gettre alebo pouzit MagicAccessor. Ale na to si mi odpovedal v druhom bode. Takze diky.

Mal som z toho lebo zmetok a nebol som si isty ako k tomu pristupovat, kedze jediny tutorial na Nette + Doctrine ktoru som nasiel pouziva BaseEntity a vstup neosetruje tak som nevedel teraz ci to robi doctrina alebo to sa mu do tutorialu nechcelo davat. Diky

Jan Mikeš
Člen | 771
+
0
-

@yelidric pokud používáš PhpStorm, stačí zmáčknout cmd+N (na windowsu to bude asi ctrl+N) v textu a „getters and setters…“ nebo cmd+shift+a a „getters and setters…“ a PhpStorm ti vygeneruje sám metody pro tebou vybrané properties + pokud používáš php7 tak ti je i otypuje a přidá návratové typy.