PDA

Zobacz pełną wersję : Jak joomla tworzy stronę?



armamenton
21-06-2017, 20:01
Witam wszystkich na forum, jest to mój pierwszy post więc proszę o wyrozumiałość.

Słowem wstępu wybrałem sobie na pracę inż. Porównanie 3 systemów (Wordpressa, Joomle i MODx ) ugrzęzłem na punkcie w którym przyszło mi opisać jak każdy z systemów "składa" stronę, a czas mnie nagli, dzisiaj mnie olśniło że kto nie jak ludzie z forum będą znać temat.

Mianowicie potrzebowałbym pomocy/wskazówki jak w Joomli odbywa się proces tworzenia strony od momentu wywołania jej w przeglądarce. Jakie pliki są uruchamiane jako pierwsze co jest kiedy pobierane cały ten workflow który się odbywa poza naszymi oczami. Jest ktoś w stanie to opisać? Lub chociaż odnieść mnie do jakiegoś artykułu lub książki? Szukałem trochę w Googlu nawet w jednej książce dla zaawansowanych i nic. Wspomnę tylko że dla Wordpressa udało mi się znaleźć taki opis.

Pozdrawiam i z góry dzięki.

zwiastun
21-06-2017, 21:18
Opisywałem to daaaaawno dawno temu. Niestety - poradnika nie ma już w Sieci.
Ale dla przyszłego inżyniera/magistra (?) to raczej temat typu pestka.
1. Np. w książce June Cohen: Serwisy www. Projektowanie, tworzenie i zarządzanie, na stronach 204-215 znajdziesz rozdział zatytułowany: Zasada działania witryn internetowych, a w nim fragment opisujący działanie witryn dynamicznych, takich jak oparte na Joomla! czy Wordpress.
2. Pierwszym plikiem uruchamianym po wywołaniu adresu witryny w przeglądarce internetowej jest plik index.php w głównym katalogu zainstalowanego na serwerze Joomla. Poddaj analizie ten plik oraz wywoływane przez niego, a zobaczysz, jakie elementy systemu są wywoływane na starcie.
3. Po wystartowaniu, wczytaniu konfiguracji, wywoływany jest plik index.php umieszczony w katalogu głównym zastosowanego w serwisie szablonu (templates/[nazwa_szablonu]/index.php).
W pliku znajdują się m.in. instrukcje wywołujące i osadzające poszczególne elementy zawartości strony, w tym zawartości głównej - (<jdoc:include type="component" />), zawartości towarzyszącej (pobocznej - modułów: <jdoc:include type="modules" name="position-3" style="xhtml .... " /> oraz stałych elementów zawartości.
4. Na podstawie tych instrukcji oraz odpowiednich definiujących je skryptów uruchamiane są zapytania do bazy danych i przetwarzane informacje do umieszczenia w dokumencie wynikowym. Część z tych informacji, rzadziej aktualizowanych, może być pobierana zamiast z bazy danych z plików bufora pamięci podręcznej (katalog /cache - pliki zawartości modułów, stron, zdjęcia).
5. Po zgromadzeniu tych informacji na podstawie instrukcji w pliku index.php szablonu (oraz powiązanych z nim plików szablonu) generowany jest dokument wynikowy i wysyłany do klienta użytkownika.

To tak ogólnie.
Jeśli włączysz sobie na zapleczu testowego Joomla diagnostykę systemu, będziesz mógł podejrzeć różne elementy procesu generowania strony.

armamenton
27-06-2017, 19:11
Dzięki wielki za ratowanie tyłka za przeproszeniem! Książki o dziwo nigdzie nie mogę wypożyczyć, w internecie to samo. Ale już zamówiona, narzędzie diagnostyczne faktycznie dużo informacji zdradza istotnych z punktu mojej pracy, co nie omieszkam wykorzystać. A więc póki co zasiadam i przeleję coś z tego co napisałeś. Dzięki raz jeszcze dobry człowieku!

terra
28-06-2017, 12:33
Ogólna zasada wywołania strony internetowej, to początek, natomiast najważniejsze dla Joomla, to że jest tam zaimplementowany model MVC (http://michalorman.pl/blog/2010/03/model-widok-kontroler/), W przypadku Drupala masz PAC (https://en.wikipedia.org/wiki/Presentation%E2%80%93abstraction%E2%80%93control), a w przypadku MODx masz do czynienia z xPDO, czyli xPDOObject (https://docs.modx.com/xpdo/2.x/class-reference/xpdoobject) .
Cały proces obsługi zapytań, został opisany w "Joomla Programming" Mark Dexter rozdz.3 How Joomla Works (https://www.joomla.org/joomla-press-official-books.html)