Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej Rozumiem

Struktura systemu

Struktura plików systemu

Windu CMS zasadniczo składa się z kilku katalogów głównych a są to:
  • app - tutaj znajdują się wszystkie pliki systemowe, cały silnik PHP naszego CMSa
  • data - ten folder interesuje nas najbardziej, tutaj zapisywane są wszystkie dane użytkownika, jego szablony graficzne oraz widgety.
  • cache - tutaj system zapisuje pliki z pamięcią podręczną przyśpieszającą jego działanie


Folder danych data

W katalogu data mamy pod foldery, a ich struktura wgląda następująco:
 
struktura plików
  • backups - są tutaj zapisywane wszystkie kopie zapasowe wykonywane w pakiecie PRO
  • database - tutaj znajdują się pliki bazy danych
  • files - tutaj umieszczone sa wszystkie pliki, zarówno obrazki jak i innego typu wgrywane do systemu materiały. Folder ten jest powiązany ściśle z silnikiem serwera plików i obrazków dlatego nie warto tam zaglądać.
  • functions - tutaj umieszczamy dedykowane funkcje smarty, czyli wszystko co chcemy dodać do smartów pisząc własną dedykowaną funkcje
  • languages - folder z plikami językowymi, zarówno z tłumaczeniami admina jak i frontu. pod foldery z danym językiem są tworzone automatycznie w momencie dodania nowego języka.
  • log - w tym miejscu Windu zapisuje pliki pomocnicze dla requestLoga oraz systemu firewalla
  • themes - tutaj znajdują się wszystkie skórki jakie zainstalowaliśmy lub dodaliśmy ręcznie do Windu
  • widgets - tutaj analogicznie jak w przypadku themes, mamy wszystkie widgety w systemie.
 

Folder aplikacji app

W tym katalogu znajduje się jądro systemu czyli tak zwany "core" oraz zbiór pluginów odpowiadających za poszczedgólne funkcje windu.
 
dokumentacja-windu
  • controller - folder z kontrolerami czyli plikami php wywoływanymi w zależności od wpisanej ścieżki, w kontrolerze mamy podstawowe akcje wyświetlające treści lub wykonujące operacje "do"
  • core - tutaj znajdują się podstawowe pliki php wykonujące bazowe akcje systemu, ten folder zawiera całą logikę potrzebną do działania windu.
  • includes - tutaj mamy pliki z konfiguracją startową Windu
  • model - w tym folderze znajdują się pliki obsługjące model, czyli naszą bazę danych, każda tabela ma swój plik
  • plugins - tutaj mamy wszystkie pluginy, które tak naprawdę tworzą Windu, plugin to niezależna część kodu wykorzystujaca zarówno model jak i core do działania, plugin ma niezależne configi i routery które nadpisują domyślne działanie windu. Panel administracyjny lub serwer obrazków czy też plikó jest tak na prawdę osobny pluginem.
    • admin - w tym pluginie jest cały panel administracyjny windu! Każdy plugin zawiera własny folder z plikami konfiguracyjnymi oraz kontrolerami i szablonami, plugin może również mieć własny folder model zawierający pliki obsługujące tabele bazy danych.
    • database - zawiera podstawowe rozszeżenia dla tabel baz danych, zawiera pliki które wzbogacają funkcje danej tabeli przez jej extendowanie
    • file - zarządza plikami dodawanymi do windu z wyłączeniem obrazków
    • front - odpowiada za wyświetlanie strony internetowej
    • html - odpowiada za wyświetlanie treści html, zawiera silnik smarty oraz silnik formularzy
    • image - zarządza obrazkami
    • mail - odpowiada za wysyłanie maili
    • pdf - generuje pdf z wybranej treści
    • rss - odpowiada za pobeiranie i zarządzanie nagłówkami rss
    • update - odpowiada za aktualizacje systemu
    • widget - odpowiada za obsługę widgetów na naszej stronie
    • wp - nasz przykłądowy dodatkowy plugin, w tym wypadku webprojector.org które jest tak na prawde osobny pluginem Windu!
  • resources - folder z zasobami obrazków oraz plików css i js
  • templates - folder z domyślnymi widokami, takimi jak błąd 404
 

Struktura logiczna

Silnik windu działa zgodnie z poniższą logiką:
  1. index.php - Zapytanie http trafia jest kierowane do folderu z naszym systemem cms gdzie następnie jest kierowane z pomocą pliku .htaccess na plik index.php. W pliku tym następuje ustawienie ścieżek oraz podstawowych zmiennych systemowych po czym wywoływany jest plik configDB.php
  2. configDB.php - tutaj ładowana jest konfiguracja bazy danych, w tym miescu doklejana jest jedynie kolejna część konfiguracji startowej
  3. config.php - w tym miescu dołączana jest kolejna partia stałych startowych, w pliku config.php znajdują się parametry podstawowe takie jak zdefiniowana struktura plików i folderów w Windu oraz zdefiniowanie jakie pluginy mają być ładowane
  4. init.php - jest to kluczowy dla działania systemu plik, w jego wnętrzu znajduje się wywołanie całej logiki, plik ten zawiera cały autoloader ładujący poszczególne klasy Windu ale także wywołuje odpowiedni kontroller na pdostawie routera
  5. pluginManager::loadMainConfigs() - wywołane wewnątrz init.php ładuje pokolei startowe dane konfiguracyjne z poszczególnych pluginów, na tym etapie mamy kompletnie załadowany config systemu. System jest gotowy do pierwszych operacji.
  6. router::instance()->callController($request) - wywołanie kontrolera na pdostawie ścieżki. System pobiera tabele routingu i router na jej podstawie wie do jakiego kontrolera ma się odwołać, domyślnie wywoływana jest akcja index, jednak w routingu może być zdefiniowana zmienna #action która mówi nam o tym którą akcje z kontrolera wywołać.

 

Centrum pomocy

Masz problem techniczny?

Poradniki wideo