![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 1 Dołączył: 26.05.2009 Ostrzeżenie: (0%)
|
Zastanawiam się jak rozwiązać problem automatycznego ładowania modelu dla kontrolera tylko wtedy gdy bedzie choc raz użyty. Wolalbym tu uniknac wzorca fabryki bo nie chcialbm miec cos takiego
chcialbym zeby $user byla to klasa ktora po dostepie do niej np. ( ) zaladowala model user i podmienila siebie... nie wiem czy sie jasno wyrazilem ale jestem po nie przespanej nocy |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
Hmmm czekaj jesli dobrze rozumiem importuj plik modelu za pomoca jakiesj klasy ktora bedzie implementowala ta funkcjonalnosc w __get().
Chyba ze zle zinterpretowalem twoje pytanie. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 1 Dołączył: 26.05.2009 Ostrzeżenie: (0%)
|
Dobrze zrozumialeś tylko zastanawiam sie czy mozna to jakos ominanc calkowicie podmienic klasy tylko w przypadku uzycia tu nie chodzi tylko o metode __get modele sa bardziej rozbudowane jesli nie wykombinuje nic bede musial wszystkie magiczne metody tak przechwycic
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
Jak dobrze pokombinujesz z __get() i ewentualnie __call() uzyskasz to co chcesz.
U mnie jak chce odwolac sie do jakiegos obiektu i plik jest w jakims tam katalogu i nie zostal includowany robie tak jak ty to opisales:
Wtedy moj Fw przeszukuje katalogi az do napotkania pliku klasa.php gdy go napotka includuje go i tworzy obiekt klasa i zwraca mi go. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
|
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%)
|
A ja sobie wczytuję ręcznie modele do kontrolera, imo mniej zabawy.
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 1 Dołączył: 26.05.2009 Ostrzeżenie: (0%)
|
No tak niby mniej zabawy ale potem fajnie by bylo gdyby model byl ladowany automatycznie wtedy gdy jest potrzebny zaoszczedzilbym jedna linijke przy kazdym kontrolerze
|
|
|
|
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%)
|
A co jeżeli jest już załadowany? ;] Musiałbyś go rejestrować w jakimś singletonie a później sprawdzać czy jest zarejestrowany, to jest grzebanie w tablicach, dodatkowo opóźnia wykonanie kodu, a tak wczytujesz i się nie przejmujesz.
-------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
|
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Cytat edna linijke przy kazdym kontrolerze Chyba raczej tyle linijek ile modeli używasz w danym kontrolerze.IMO lepiej jest jednak to ręcznie robić - lepsza czytelność, mniej kombinowania, a potencjalny zysk w postaci dwóch, trzech linijek kodu jest niewielki. Ja generalnie w przypadku obiektów modeli w ogóle nie wykorzystuję pól obiektu kontrolera - wolę to mieć w zmiennej lokalnej i ew. przekazać przez referencję, jeżeli potrzebuję go w innej metodzie. Jakoś nie specjalnie dużo kombinowania, a kod jest dużo czytelniejszy. |
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
A co jeżeli jest już załadowany? ;] Musiałbyś go rejestrować w jakimś singletonie a później sprawdzać czy jest zarejestrowany, to jest grzebanie w tablicach, dodatkowo opóźnia wykonanie kodu, a tak wczytujesz i się nie przejmujesz. Jak cos to bardziej pasowalby Register a nie singleton wedlug mnie. A dwa to sa ulamki ulamkow mili-sekund...... -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
|
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%)
|
marcio a kto broni używać registera w singletonie? ;]
w Doctrine jest zrobione tak że wszystkie modele są wczytywane od razu, przy załadowaniu strony, też ciekawe. -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 24.08.2007 Ostrzeżenie: (0%)
|
hmmm
jest juz troche pozno i moge nie zalapac ocb w temacie ale z tego co rozumiem to problem tkwi w odpowiedniej implementacji autoloadera o autoloaderach sa rozne ciekawe tematy, poszukaj ja mam autoloader tak rozwiazany (+ mapki na zasadzie "nazwa_klasy"=>"sciezka_do_pliku"):
Do tego cache'owanie map plikow i nie martwimy sie o zadne ladowania plikow Pozdrawiam Ten post edytował witul 4.10.2009, 03:37:50 |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 1 Dołączył: 26.05.2009 Ostrzeżenie: (0%)
|
Tylko chodzi o to że auto loader klas jest tu zastowany... kontroler jest zawsze zaladowany a chodzi oto zeby model byl ladowany w ten sposob ze byla by to jakas mala klasa ktora po pierwszym dostepnie do niej podmienila by siebie na wlasciwa a jesli model nie byl by uzyty to nie robila by nic. Narazie mam zrobioen to w ten sposob ze mam przechwytywane magiczne metody typu _call itp.. ale to nie jest wygodny sposob gdyz np. model dostaje zmienne w tablicy a nie typu $var1,$var2...... Chyba jednak zrobie tak ze za kazda raza do kontrolera musi byc ladowany model..
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
Cytat model dostaje zmienne w tablicy a nie typu $var1,$var2...... Teraz nie pamietam gdzie ale chyba w kohanej widzialem takie rozwiazanie ze mieli funkcje w niej switch i na zasadzie ile dana funkcja miala argumentow byl foreach() na tablice i potem elementy byly wkladane do funkcji, nie wiem czy mnie zrozumiales, jak znajde ten plik to ci podam. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 1 Dołączył: 26.05.2009 Ostrzeżenie: (0%)
|
Ciekawe rozwiązanie nie wpadlem na to..... po południu zaraz to przetestuje powinno dzialac.... ale dalej mnie zastanawia fakt czy nie mozna tego jakos ominąć aktywowanie modeli
|
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
Itp zalezy ile dana funckja ma miec parametrow cos takie to taki wzor powinien dzialac. Ten post edytował marcio 4.10.2009, 19:29:22 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
|
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%)
|
marcio, co Ty q... za herezje wypisujesz? Pobierasz argumenty funkcji bez funkcji O_o I ten func_num_args, to imo zbyteczność, func_get_args i cout i święto lasu... ale co Ty tu tworzysz?
@edit Crozin no szał pał. Ten post edytował cojack 4.10.2009, 22:52:56 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
|
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
Taa... call_user_func_array - jest bajer co nie?
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%)
|
@cojack palancie wiesz co to wzor?
@Crozin niestety znam ta funkcja sam ja uzywam nie tylko ty ja znasz nie przyszla mi niestety do glowy wiec wybacz. Cytat Pobierasz argumenty funkcji bez funkcji O_o I ten func_num_args, to imo zbyteczność, func_get_args i cout i święto lasu... ale co Ty tu tworzysz? Qur** a widzisz w tym jakas roznice, bo ja nie oprocz tego ze ty skorzystasz z innych funkcji. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
|
Post
#19
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat @cojack palancie wiesz co to wzor? czy cojak cie wyzwal ze tak mu sie odszczekujesz? Bo ja nie zauwazylem tego.+10 z moderką -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 02:57 |