![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
Witam, na wstępie piszę że nigdy jeszcze nie używałem Symfony.
Zacząłem się ostatnio bawić z Symfony2, wszystko wygląda bardzo fajnie, ale na mojej drodze w tutorialu pojawił się poważny problem, chodzi o Doctrine i Symfony2. Robię wszystko mniej więcej tak jak w tutorialu:
Taki oto kod jest w tutorialu, nie wiem nawet dokładnie co on robi, w każdym razie chciałbym to sprawdzić, jednak pomimo tego że klasę załadowałem prawidłowo (wszystko niby powinno działać) odrazu pojawia mi się informacja: Class Acme\StudyBundle\Entity\User is not a valid entity or mapped super class. Kod klasy User to:
ten kod też jest z tutoriala. Czy mógłby ktoś wytłumaczyć mi o co chodzi i co mam z tym zrobić? Będę wdzięczny ![]() -------------------- Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Nie rób burdelu i przestrzegaj jedynej słusznej konwencji nazewnictwa, czyli userName, userId (swoją drogą po co przedrostek "user") itd.
2. Jeżeli nie masz pojęcia jak działa Doctrine to zapoznaj się najpierw z nim - oszczędzisz sobie szmat czasu. 3. Błędem jest to, że Doctrine w ogóle nie wie o istnieniu klasy Acme\StudyBundle\Entity\User - najwidoczniej nie jest on wstanie poprawnie odczytać adnotacji. 4. Z Sf2 od ponad miesiąca nie miałem kontaktu, a widzę że zmienili co nieco sposób działania adnotacji - upewnij się, że poprawnie go stosujesz. Najbardziej aktualną dokumentację znajdziesz tutaj: https://github.com/symfony/symfony-docs |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
a wiesz co zrobić żeby o istnieniu klasy poinformoawać doctrine?
Ten post edytował MWL 4.06.2011, 18:09:42 -------------------- Wpadaj na mój kanał o PHP. Dużo mięsa 🥩!
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 81 Pomógł: 4 Dołączył: 15.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Musisz stworzyć mapping dla klasy by stała się entity.
http://www.doctrine-project.org/docs/orm/2...ic-mapping.html W Symfony2 wygląda to nieco inaczej. Masz do wyboru aż 3 sposoby by zmapować swoje klasy. YAML, XML i annotations czyli w komentarzach docblock. Dobrym zwyczajem jeśli coś ma być open source jest używanie XML ze względu na to, że jest walidowany przez schema. W Symfony pliki z mappingiem musisz umieścić w folderze Resources/config/doctrine. Dla klasy TwojVendor\TwojeBundle\Entity\TwojEntity będzie to plik Resources/config/doctrine/TwojEntity.orm.xml. Dla XML. Jest już pull request od Ryana z nową i uaktualnioną częścią Symfony Book dotyczącą Doctrine. Poczekaj chwilkę i ona rozwieje Twoje wątpliwośći. https://github.com/symfony/symfony-docs/pull/366. Pozdrawiam. @edit: Twoje adnotacje nie działają, bo zapewne nie uruchomiłeś ich w DIC'u. Prościej mowiąc w pliku, w którym trzymasz konfigurację - domyślnie config.yml. Ten post edytował pejott 5.06.2011, 08:12:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:39 |