![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Witam
Ciekawi mnie jakie Wy macie rozwiązania na modele w aplikacjach z modułami. Kiedy ustawimy sobie moduły, autoloader automatycznie nam dopisuje ścieżkę do modeli "zbiorczych", które są w katalogu głównym aplikacji, a teraz co z modelami, które mają być dedykowane dla danego modułu? Czyli jak wywołać model, który będzie np. w katalogu: Cytat application/module/NAZWAJAKAS/models/ModelTestowy.php Tam autoloader sam już nie wejdzie, trzeba sobie radzić. Niektórzy robią to dodając include_paths do każdego modułu, inni piszą plugin, który dodaje include_path oddzielnie dla każdego modułu, np:
Macie na to jakieś ciekawe rozwiązania? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 319 Pomógł: 118 Dołączył: 26.11.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
W tym kodzie który napisałeś, wczytuję wszystkie moduły, ale po co? Można to zrobić w ten sposób co Ty, ale wykorzystując plugin i dodając namespace tylko dla jednego modułu, wtedy faktycznie obędzie się bez includepath.
Jeśli chodzi o bootstrapy dodatkowe, no to już mi się bardziej podoba, skoro bootstrap główny jest zawsze używany. Chociaż dalej mam zastrzeżenia co do pustych bootstrapów, w końcu to zawsze dodatkowy plik, a pusty. Cytat Zarejestrowane przestrzenie widoczne są w całej aplikacji czyli we wszystkich modułach. Czyli będąc w kontrolerze modułu np. admin możesz wywołać model z modułu np. users To mnie ciekawi, jak wszystkie przestrzenie są rejestrowane? Czyli odpalają się jednocześnie wszystkie bootstrapy? A nawet jak nie, to tworzą się namespace`y dla każdego modułu? Dziwna sprawa i chyba mało optymalna ;/ Nie chcę mieć dostępu do modelu w module admin, z modułu np user, bo to bez sensu. Od tego mam modele zbiorcze, a te w modułach mają być tylko i wyłącznie dla danego modułu (IMG:style_emoticons/default/smile.gif) Tylko że teraz zaczyna się seria bezsensownych pytań z mojej strony, więc najpierw postawie aplikację z bootstrapem na każdy moduł i zapoznam się dokładnie z działaniem, wtedy tu wrócę (IMG:style_emoticons/default/smile.gif) póki co dzięki za pomoc No dobra, aplikacja uruchomiona z przykładowymi dwoma modułami i jest kiepsko... faktycznie dwa bootstrapy są za każdym razem wczytywane, za każdym razem są tworzone dodatkowe namespace`y, coś z tym trzeba by zrobić, bo to przesada, żebym za każdym razem miał 20 bootstrapów, dla każdego po tam chyba 6namespaceów, robi się kombajn (IMG:style_emoticons/default/smile.gif) Mi się to za bardzo nie podoba, zobaczymy jeszcze testy różnych rozwiązań przy 20 modułach (IMG:style_emoticons/default/winksmiley.jpg) --------------------------------------- Trzeba by zrobić testy porządne, na razie mierząc jedynie czas wykonywania skryptu, rozwiązanie z wieloma bootstrapami przy 20 modułach, wydłuża ładowanie strony o jedną dziesiątą w porównaniu z dodaniem namespace`ów dla jednego, aktualnie potrzebnego modułu z wykorzystaniem pluginu, więc może i różnica niewielka, ale kiedy zależy na optymalizacji... Po co ładować tyle plików? Tworzyć tyle namespace`ów?(IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ? Tworząc namespace domyślam się że autoloader dodaje to sam do includepath, wtedy każdy załączony plik jest szukany we wszystkich namespejsach ;/ czyli w miarę rozbudowy aplikacji, ta 1/10 czasu wcale już nie będzie taka mała, a jeśli się mylę, to będę wdzięczny za sprowadzenie na ziemię (IMG:style_emoticons/default/winksmiley.jpg) Ten post edytował my salsa 17.10.2010, 18:50:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 15:03 |