Know-how, előadás, architektúra joomla

Összefoglaló: A Joomla architektúráját röviden ismertetjük. Tekinthető előre definiált konstansok, nyelvi fájlokat, a végrehajtási mód „gyári”, dolgozó HTTP-kérés objektum JApplication, ami az eszköztárakat.

Az előadás célja: Tanulmányozni a Joomla architektúrájára vonatkozó alapvető információkat. Ismertesse az ilyen típusú bővítmények működését komponensként.

előszó

A Joomla programozásának legfontosabb információforrása e rendszer hivatalos dokumentációja [5]. Azonban a kurzus megírásakor ez a dokumentáció meglehetősen hiányos, különösen mivel számos cikk a Joomla régebbi verziójára utal (1.5). A Joomla 1.5-re írt kiterjesztések kódja kissé eltér a Joomla 1.6, 1.7 és 2.5 frissen kiadott változatától.

Irányelvek a fejlesztési komponens a Joomla webhely azonnal megkezdődik az írás kód szerint az építészet MVC (Model - View - View). Egy ilyen megközelítés aligha kényelmes, sokkal könnyebb a hallgató megkezdi a tanulás alapjait programozás Joomla, a tanulmány fő osztálya keretében ezt a rendszert, és csak ezután lépni a MVC architektúra. A könyvben sokkal kényelmesebb megközelítést alkalmaznak a könyvben [3]. Kialakításuk az egyszerűtől az összetett, először tekinthető olyan egyszerű komponens alkalmazása nélkül megvalósító osztályoknak az MVC, és akkor van egy átmenet ezen architektúrához. Ezért a kurzus gyakorlati részében követjük a könyv bemutatásának sorrendjét. Ezen kívül a legtöbb kód, amely a gyakorlati része ennek a kurzusnak a listákon alapul. Azonban a forráskódot, kivett [3] írt alá Joomla 1.5 és elavult. Ehhez a kurzushoz megváltozott a Joomla 1.7-ben való felhasználás, és átkerültek egy másik tématerületre. Váltás Joomla 1.7 követelte felül gyakorlati része során ezek nem voltak jelen [3] kapcsolatos kérdések, mint például a létrehozása a menüpontok a vezérlőpulton használja a nyelvi fájlokat. Nagyobb figyelmet fordítanak a webhely navigációs láncával való együttműködésre.

Az előadások elméleti részének megírását a Joomla dokumentáció hiányosságai bonyolítják. Néha bármilyen módszer paramétereinek leírása megtalálható a dokumentációban, de teljesen hibás. Bizonyos esetekben, amikor figyelembe vettük a rendszer keretosztályait, meg kellett nyitnia a fájlok forráskódját annak megértéséhez, hogy ez hogyan működik-e. Ezt a megközelítést különösen akkor alkalmazták, ha figyelembe vesszük az osztályok csoportját, amelyek szabályozzák a HTML elemek létrehozását.

Vegye figyelembe a könyvet [2] is, amely a Joomla régi változatának programozását is figyelembe veszi.

A tartalomkezelő rendszerhez a Joomla több ezer kiterjesztést készített. Mindazonáltal nem mindig célszerű egy kész megoldást használni. A harmadik féltől származó bővítmények túl drágák vagy túlterhelhetők a kiszolgáló számára egy adott feladatfunkcióra szükségtelenül. Nem szabványos feladat esetén egyáltalán nem talál egy kész megoldást.

Néha elég használni a Joomla egyik tartalomtervezõjét (CCK), amely lehetõvé teszi, hogy saját sablonokat hozzon létre az anyagokhoz. A CCK azonban nem csodaszer, és lehetséges, hogy tehetetlen lesz. Ebben az esetben szükségessé válik a saját kiterjesztés megírása.

Előfordulhat, hogy a kész megoldás nem működik megfelelően, és hibát kell keresnie benne. Ezután a kód megértéséhez a programozónak ismernie kell a Joomla alatt lévő építési bővítmények alapelveit.

Joomla Architecture

A Joomla keretrendszer három szintből áll (1.1. Ábra):

  1. a keret szintje;
  2. alkalmazási szint;
  3. kiterjesztések szintje.

Know-how, előadás, architektúra joomla


Ábra. 1.1. A Joomla keretrendszer

A keret a Joomla alapvető funkcióit tartalmazza a könyvtárak és bővítmények, valamint a Joomla keretrendszerrel együtt:

  • A Joomla keretrendszer (vagy a "core") olyan osztályokból álló csoport, amelyek a Joomla alapfunkcióit biztosítják. Ezeknek az osztályoknak a nevei a "J" betűvel kezdődnek és magukért beszélnek: JDatabase. JUser. JForm. JEditor stb.;
  • könyvtárak szükségesek a keretrendszer működtetéséhez vagy harmadik fél kiterjesztéseihez;
  • A bővítmények kiterjesztik a keret funkcionalitását.

Az alkalmazásréteg olyan alkalmazásokból áll, amelyek kiterjesztik az elvont JApplication osztályt. Az alkalmazás egy globális objektum. a kérések feldolgozásához.

Ez a szint a következő alkalmazásokat tartalmazza:

  • A JInstallation a Joomla telepítésekor indul. A telepítés befejezése után törölni kell a telepítési könyvtárat. amely csak tartalmazza ezt az alkalmazást. A jövőben a kiterjesztéseket a JAdministrator alkalmazással telepítheti;
  • A JAdministrator kezeli a Joomla adminisztráció összes funkcióját;
  • A JSite felelős a frontend elrendezéséért és megjelenítéséért;
  • Az XML-RPC lehetővé teszi a Joomla webhely távoli felügyeletét.

A kiterjesztések szintje a Joomla keretrendszer és alkalmazások kiterjesztéseiből áll:

  • Az összetevők a Joomla kiterjesztések fő típusai. Minden alkalommal, amikor eléred a Joomla-t, a megfelelő összetevőt hívják. Például, amikor megjelenik egy oldal egy oldala, a com_content összetevő neve;
  • a modulok kis méretű tartalmak megjelenítésére szolgálnak, általában a bal vagy jobb oszlopban, vagy az oldal felső vagy alsó területein;
  • a plug-inek lehetővé teszik a Joomla által okozott események feldolgozásához szükséges funkciók és osztályok regisztrálását, például a webhely keresését;
  • nyelvi fájlok lehetővé teszik a Joomla tartalom megjelenítését több nyelven;
  • A sablonok felelősek a webhely megjelenéséért.

Frontend és Backend

A Joomla legtöbb komponense a frontendre és a backendre van felosztva, és kódjuk két mappára oszlik, amelyek mindegyikét com_<имя компонента>. Mindegyik mappának tartalmaznia kell egy fájlt. Ez a belépési pont, és ugyanaz, mint az összetevő. azaz <имя компонента>. php. Szekvenciálisan a következőképpen ábrázolható:

Előre meghatározott konstansok

A Joomla azonosított számos állandók, hogy tartsa értékeit módon: JPATH_BASE - az út, hogy a gyökér könyvtárat az aktuális alkalmazás; JPATH_ROOT - útvonal a gyökér könyvtárába a helyszínen, JPATH_COMPONENT - út a komponens könyvtár, JPATH_COMPONENT_SITE - az út, hogy a front-end komponens JPATH_COMPONENT_ADMINISTRATOR - út a backend komponens, stb Ezek teljes listája megtalálható a dokumentációban. Mindezen állandók visszaadják az abszolút értékeket a fájlrendszerben. Ha meg kell szerezned az elérési utat az URL-ben. használja a JURI :: base () módszert.

Az indexfájlban. php. a Joomla gyökérkönyvtárában található. az állandó _JEXEC definiálva van. A Joomla alatt írt legtöbb PHP fájl kifejezéssel kezdődik

Ez az kifejezés ellenőrzi, hogy a fájl volt-e. amelyben fel van jegyezve, a Joomla-tól hívják. Ily módon a külső fájlhoz való hozzáférés tilos megakadályozni a webhely feltörését.

Egy másik népszerű konstans a Joomla - DS. Egy könyvtárszeparátor, amelyet egy adott operációs rendszerben fogadnak el (például előre vagy hátra).

Nyelvi fájlok

A Joomla lehetővé teszi többnyelvű webhely létrehozását. a webhely nyelvének és a kezelőpanel nyelvének meghatározása minden felhasználó számára. Ez a funkció végrehajtása az alábbiak szerint: a kódok a bővítmények szükség megjelenítéséhez a korábban ismert szöveget (például egy üzenetet a sikeres végrehajtása a felhasználó kérésére) helyett írt szöveg egyenértékű (kulcs). A kiterjesztés által támogatott minden nyelv esetében létrehoznak nyelvi fájlokat. amelyek tárolják a fordításokat a kiterjesztési kódokban található valamennyi kulcs számára. Például a kulcs "COM_MYCOMPONENT_HELLO_WORLD" angol fordítást lehet meghatározni, mint a "Hello, world!", Az orosz - "Hello, world" francia - "Bonjour le monde!" és így tovább.

A frontend nyelvi fájlok a / language /. ahol - nyelvi kód az RFC3066 szerint. A fájlt a rendszer szerint kell megnevezni .<префикс><имя расширения>.ini. ahol az előtag típusától függ a terjeszkedés: "com_" (komponens), "mod_" (modulus), "tpl_" (templát), stb Például az elérési utat a nyelvi fájl érintkező elem az orosz nyelv a következő: /language/ru-RU/ru-RU.com_contact.ini

A nyelvi fájlok háttere a mappában / rendszergazda / nyelvben / .

A .ini fájlok mellett. A kiterjesztéshez létre kell hozni egy * .sys.ini fájlt is. amely tárolhatja a kiterjesztés telepítése után megjelenített üzenetek fordítását, a menüelemek fordítását. Létrehozta az alkatrész a vezérlőpulton, transzferek nyomtató alkatrész paramétereket és a transzferek, kiválasztódnak az Extension Manager. Például a fájl elérési útját .sys.ini érintkező elem az orosz nyelv a következő: /administrator/language/ru-RU/ru-RU.com_contact.sys.ini

A kulcs a fordításhoz használt karakterlánc, és az érték a megadott nyelv nyelvének a fordítása. A kulcsot az egyenlőségjeltől elválasztja az értéktől:

Kapcsolódó cikkek