![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) ![]() ![]() |
Zacząłem pisac swój Framework opierając sie na MVC i możliwie największym OOP, aby następne aplikacje wychodzące z moich rąk były bardziej moja zasługą niż innych (CodeIgniter przede wszystkim). No i do pewnego momentu wszystko było ok. Teraz dwa pytania:
1. Jak przesyłać dane do widoku? Chodzi mi o powiedzmy jedną wielka tablicę asocjacyjną, w której będą pod odpowiednimi indeksami odpowiednie dane i wysłać ją do widoku, żeby tam była widoczna. Po zwykłym includowaniu pliku widoku (przez widok rozumiem większośc kodu HTML z dodatkami php) nie było widać żadnych zmiennych, i w tym problem, bo chyba tak powinno być. Czytałem kod w CI, żeb zobaczyć jak tam jest to rozwiązane, ale od czytania tego kodu rozbolała mnie głowa a najgorsze, że nic z tego nie zrozumiałem ;/ 2. Jak napisać klase do ładowania innych klas? Powiedzmy, że mamy kontroler, z którego chcemy wywołać model. Możemy napisac prostą funkcję, która może wyglądać przykładowo tak:
i będzie nam zwracała obiekt, który przypiszemy do zmiennej. Ale jak załadować klasę do załadowywania klas? Mam nadrzędny kontroler po którym dziedziczą wszystkie inne i jak w tych "wszystkich innych" rozwiązać ten problem? Mógłbym w każdym robić nową instancje obiektu i ładować cały plik funkcją powyżej ale czy to ma sens? I jak załadować widok? Tutaj potrzebuję odpowiedzi na pierwsz epytanie bo jak na razie stoję w miejscu. Myślałem nad rozwiązaniem stosowanym w CI, $this->nazwaKlasy->nazwaMetody() - ale jak tego dokonać? Mógłbym prosić o jakąś pomoc albo namiary jak to wykonać? Przeszukałem juz google i tutejsze tematy o MVC ale przeważnie pisane jest o tym jak korzystać lub czy dobrze ktoś z tego (z MVC) korzysta a nie jak coś zrobić. Bardzo liczę na czyjąś pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Cytat 1. Jak przesyłać dane do widoku? Chodzi mi o powiedzmy jedną wielka tablicę asocjacyjną, w której będą pod odpowiednimi indeksami odpowiednie dane i wysłać ją do widoku, żeby tam była widoczna. Po zwykłym includowaniu pliku widoku (przez widok rozumiem większośc kodu HTML z dodatkami php) nie było widać żadnych zmiennych, i w tym problem, bo chyba tak powinno być. Czytałem kod w CI, żeb zobaczyć jak tam jest to rozwiązane, ale od czytania tego kodu rozbolała mnie głowa a najgorsze, że nic z tego nie zrozumiałem ;/ Abstrakcyjna klasa widoku (i dziedziczące po niej klasy konkretnych widoków) może posiadać tablicę w postaci klucz => wartość, gdzie klucz odpowiada zmiennej wyświetlanej w widoku, a wartość - jej zawartość. W kontrolerze możesz ustawiać te zmienne np. tak:
i teraz widok wywołany przez ten kontroler:
To tylko jedno z możliwych rozwązań. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 06:29 |