A Joomla-ban a jtable osztály

Ebben a cikkben szeretném megvizsgálni a JTable osztály használatát, amely végrehajtja az Active Record tervezési sablont. és népszerű módja az adatbázis elérésének OOP stílusban!
Minden ilyen osztály egy táblázatot képvisel az adatbázisunkban, ennek a táblázatnak minden egyes objektuma egy sor

Például egy ilyen kód használatával beszúrhatunk adatokat a #__content táblába:

A címkével rendelkező osztálynak rendelkeznie kell a Table_name nevű fájlnévvel, és örökölnie kell a JTable osztályból
Vagyis, ha létrehozunk egy content.php fájlt, akkor az osztálynak így kell kinéznie:

Figyelem! a Joomla 3+-ban nem kell használni a jimport direktívát ('joomla.database.table');

Következő, meg kell leírni az osztály konstruktora, amely jelzi a jel dolgozunk és egyedi mező auto_increment attribútum (általában id)

Ahhoz, hogy a TableContent osztály egy példányát bárhol megtalálhassuk a modellünkben, csak írj:

Milyen módszerekkel tudunk dolgozni az adatbázis objektummal?

Először is be tudjuk tölteni a $ table objektumba a stringet bármely olyan azonosítóval, amely a #__content táblában található:

A rekord létrehozásához ezt a kódot kell hívnunk:

A tárolási módszer igaznak bizonyul, ha a mentés a lemezcímke sikeres! és hamis, ha a mentés sikertelen!

Miután beillesztette az adatokat a táblába, a táblázat aktuális sorának azonosítója meg lesz írva objektumunk id mezőjébe. Ez kényelmes, ha valamilyen adatot be szeretne helyezni egy másik táblába, és meg kell adnia az első táblázat azonosítóját a második táblázat valamelyik mezőjében!

Továbbá, ha nem akarunk új mezõt létrehozni, hanem frissítjük a már létrehozott mezõt, akkor elegendõ megadni a sor azonosítási sorát, amelyre frissíteni szeretnénk:

Ha egy sorból törölni szeretné a táblát, ezt a kódot használhatja:

Ebben az osztályban is létezik egy módszer az elemek automatikus rendezésére a táblázatok mezői szerint:

Figyelem! A (z) $ _REQUEST használata nem kívánatos a projektekben, mert lehetőség nyílik olyan adatok bevitelére, amelyek végrehajthatják ezt a biztonsági rést, vagy a sebezhetőséget! A felhasználói bevitel biztosításához használja a JInput osztályt

Az osztályban a mi címkék felülbírálhatja, ha a bind módszer, amely kialakítja szempontjából adatok vonatkoznak, például ha nem adja meg a felvétel időpontját, akkor automatikusan rögzítésre jelzi, hogy a létrehozásának időpontja rekord: