![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 20.10.2002 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
jakiś czas temu zacząłem zabawę z frameworkiem Symfony. Zacząłem zabawę ORM - geenralnie zabawą z bazą danych. Stworzyłem sobie tabelę w bazie danych, utworzyłem dla tej tabeli plik schema.yml dla struktury (wszystko zgodnie jak w dokumentacji w rozdziale 8. Mój plik wygląda tak: propel: user: _attributes: { phpName: User } user_id: firstname: varchar(50) lastname: varchar(50) Wszystko ładnie mi działa - dane dodają się do bazy danych za pomocą propela. Poniższy kod umieściłem w jednej z akcji w moim module: $pConnection = Propel::getConnection(); $pQuery = "INSERT INTO user(firstname, lastname) VALUES ('Rafal', 'Sobczuk')"; $pStatement = $pConnection->prepareStatement($pQuery); $pResultset = $pStatement->executeQuery(); Do tej pory wszystko działa ładnie. W dokumentacji napisane jest, że oprócz standardowych zapytań mogę użyć klasy User (w moim przypadku, bo taki nadałem atrybut tej tabeli w pliku schema.yml. Po wywołaniu konstrutora klasy User w tej samej akcji którą opisałem kilka linijek wyżej dostaję komunikat, że: Fatal error: Class 'User' not found in /var/www/html/www.sobczuk.eu/apps/main/modules/page/actions/actions.class.php on line 26 W którym miejscu powinienem wywołać konstruktor klasy User? A może czegoś nie za' include'owałem? W dokumentacji dość niejasno to jest napisane. Z góry dziękuję za wszelką pomoc. Pozdrawiam Rafał Sobczuk |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Niewiele korzystasz z ORM, raczej z abstrakcji bazy danych, skoro nie używasz obiektów mapujących....
Ale z Symfony nie pomogę, korzystam z Propela ale nie w tym fw. (z dokumentacji wynika, że powinno być dostępne po poprawnym zdefiniowaniu... ale nie wnikam) -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Napisz czy po zbudowaniu modelu wyczyściłeś cache. Jeśli tak to sprawdź czy w pliku: /cache/<nazwa aplikacji>/<nazwa środowiska>/config/config_autoload.yml.php masz dodaną klase User z poprawną ścieżką.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 20.10.2002 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Napisz czy po zbudowaniu modelu wyczyściłeś cache. Jeśli tak to sprawdź czy w pliku: /cache/<nazwa aplikacji>/<nazwa środowiska>/config/config_autoload.yml.php masz dodaną klase User z poprawną ścieżką. Wystarczy wykasować katalog cache? Ten post edytował rsobczuk 17.01.2008, 17:05:53 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Można ręcznie usunąć zawartość katalogu cache ale wygodniej jest wykonać polecenie:
Kod symfony cc które zrobi to za Ciebie. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 20.10.2002 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Szacuneczek.
Dzięki za pomoc dla wszystkich... Usunięcie cacheu pomogło. Pozdrawiam Rafał Nie będę tworzył nowego wątku. Moje pytanie też jest odnośnie Symfony, ale tym razem chcę zrobić coś takiego: Na głównym templejcie strony (plik: <prjekt>/apps/<aplikacja>/templates/layout.php jest taki fragment kodu:<?php echo $sf_data->getRaw('sf_content') ?> Oznacza to, że w tym miejscu będzie wyświetlony kod wygenerowany przez poszczególne moduły (w zależności od akcji jaka będzie uruchomiona). Chciał bym zawrzeć w tym samym głównym templejcie inny kontekst (np flagi z możliwością wyboru języka aplikacji). Czy ktoś pomoże mi jak coś takiego wygenerować, żeby nie wklejać do tego pliku oddzielnie linków z obrazkami i linkami do akcji, gdzie mogę zmienić język, tylko żeby był to wklejony obiekt z wywołaną jakąś metodą, gdzie HTML został stworzony w zupełnie w innym pliku. Mam nadzieję, że wysłowiłem się jasno. Dzięki Pozdrawiam Rafał |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ja przy korzystaniu z wersji językowych w Symfony dodaję do głównego szablonu odpowiednie linki ręcznie + korzystam z odpowiedniego helpera do generowania tychże linków. Jeśli jednak chcesz tą operację zrzucić na jakiś obiekt to może po prostu go utwórz w szablonie i wywołaj odpowiednią metodę.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 77 Pomógł: 0 Dołączył: 20.10.2002 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Też o tym myślałem, ale fajniejsze było by, żeby stworzyć klasę bardziej na tym samym poziomie co tworzona jest strona przy wywoływaniu akcji aplikacji...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 11:28 |