2013-03-24 20 views
7

Postanowiłem więc zobaczyć, co nowego Joomla! MVC przynosi. Ponieważ uczę się, robiąc rodzaj faceta, zacząłem budować natywną wersję Joomla! 3.x komponent, mam na myśli, bez korzystania ze starszych klas w projekcie z prawdziwego świata, nie tylko cześć na świecie.Budowanie natywnego komponentu Joomla 3.x

Jako punkt odniesienia do nauki użyłem Lendr tutorial, a także sprawdziłem trochę nowego Joomla! jissues code.

Jedną z rzeczy, których mi brakuje ze starszych klas jest JModelList. Więc zasadniczo powiedziałem kopiowanie - metody wklejania stamtąd do mojego składnika.

Teraz wszystko jest tak lekkie i elastyczne, ale w zasadzie, aby uzyskać tę samą funkcjonalność, co w klasach starszych, muszę napisać i zachować więcej kodu. Jedną z funkcji, które "kocham" pisać, są podstawowe funkcje CRUD.

Moje pytanie brzmi: Czy są jakieś dobre przykłady użycia nowego MVC z Joomla?

+0

czy obejrzałeś nowy instalator w wersji 3.1? powinien być napisany przy użyciu nowej architektury mvc. nieco offtopic: dlaczego nie oznaczyłeś tego tagiem również tagiem [tag: joomla]? Myślę, że wiele pytań dotyczących joomli byłoby lepiej widocznych, gdyby miały tę etykietę. i co myślisz, jeśli stworzymy synonim tagu pomiędzy [tag: joomla] a [tag: joomla2.5] [tag: joomla3.1] itp.? –

+0

Dzięki za przypomnienie mi, to sprawdzę (zupełnie o tym zapomniałem!). OFFTOPIC: Dodano Joomla! etykietka. Dzięki za przedstawienie tego, wczoraj miałem podobną myśl. Stworzyłbym synonim między Joomla1.6, 1.7, 2.5) i dla wersji 3.1, 3.2, 3.5. Ale jestem otwarty na omawianie tego, może na meta? –

+0

Piszę teraz pytanie –

Odpowiedz

4

O ile mi wiadomo, JIssues jest jedynym publicznym przykładem użycia nowego MVC w CMS Joomla.

Podczas gdy nowy minimalizm MVC jest bardzo wygodny dla aplikacji Platform/Framework, niechętnie używam go dla nowego komponentu z powodów, o których piszesz - brakuje niektórych elementów specyficznych dla CMS.

myślę, że powinniśmy (społeczność) opracowanie tych klas (dostępne później w/libraries/cms /) z uwzględnieniem nowych rzeczy w Joomla (MVC, router, ApplicationWeb), jak również w PHP 5.

JModelTracker może być dobre recenzję

EDIT:

jest aplikacja zbudowana na platformie Joomla: Cobalt CRM.

Chociaż nie jest to komponent CMS, niektóre wzorce projektowe są podobne do nowych MVC w CMS: istnieje model podstawowy CobaltModelDefault, który rozszerzają inne modele (np.

Dla mnie sensowne jest przygotowanie niektórych klas do wspólnego użytku w CMS (prawdopodobnie będzie to podobne do starszych), ale z uwzględnieniem technik RAD, takich jak Framework-on-Framework, przestrzeń nazw i tak dalej.

+0

Dzięki za twój wkład. Przyjrzałem się JModelTracker, większość kodu jest identyczna z klasami starszymi (z tego, co dotąd analizowałem). –

+2

Jeszcze jedną rzeczą wartą sprawdzenia może być użycie tabel treści w [komponencie Tagi] (https://github.com/joomla/joomla-cms/blob/master/libraries/cms/tags/tags.php) –

5

Nowe klasy MVC naprawdę nie nadają się do gotowego użycia z CMS. Są użyteczne, jeśli chcesz zachować dodatkowy kod, aby to zrobić.

3.1 Instalator używa nowego MVC, w przeciwnym razie, najlepsze przykłady wiem korzystania z nowszej MVC to aplikacja tracker (który jest tylko duża skala aplikacji internetowych Widziałem publicznie go używać) oraz Pull Platform Próbnik.

David Hurley uruchamia serię w Joomla! Magazyn (latest article) dotyczący korzystania z nowego MVC, ale jeszcze nie jest daleko.