Кратко ръководство за класове по Joomla 1

Joomla! работи на php 4 и php5. Това засяга начина, по който описваме класове и използваме обекти в Joomla! В Joomla! реши да продължи да използва синтаксиса PHP 4 поради причини за обратна съвместимост, тъй като много уеб сървъри все още използват php4. Като разработчици на трети страни, ние трябва да следваме техните примери и винаги да правим нашите разширения PHP 4 и PHP 5 съвместими, въпреки че може да се появят някои ограничения.

Има някои важни неща, които трябва да знаем, преди да започнем да създаваме и използваме класове. Първо, нека си припомним важните моменти:
- Имената на класовете трябва да започват с главни букви.
- Всички елементи трябва да се придържат към стандарта camelCase (стил на писане на сложни думи, при които няколко думи са написани заедно без интервали и всяка дума е с главни букви).
- Имената на методите трябва да започват с малка буква.
- Частните елементи трябва да започват с долна черта. Само php5 има поддръжка за модификатори на достъп, като за тази цел използваме специални конвенции за именуване, за да посочим частни елементи. Методите и свойствата, които са с префикс с подчертавания, са частни елементи.

Често предаваме и връщаме обекти и масиви по референция. Имайте предвид, че в PHP 5 обекти
винаги се предава чрез препратка. Методите, функциите и параметрите, които се връщат и предават чрез препратка, са с префикс с амперсанд. Когато използваме метод или функция, която връща препратка, трябва да използваме & =, както показва следният пример:

Когато предаваме обекти, трябва да имаме предвид, че различните версии на PHP обработват обектите по различен начин.

Наследяване от JObject

В Joomla! често срещаме клас JObject. Много от класовете в Joomla! са подкласове на JObject. Този основен клас ни предоставя някои полезни общи методи, включително стандартни модификатори за достъп и обработка на грешки.

За да стимулира PHP5 методологията, JObject емулира PHP5, като ни позволява да използваме метода на конструктора __constructor () в подкласове, без значение коя версия на PHP се използва.
Когато използваме нашия детски клас, обикновено трябва да декларираме конструктора на родителския клас. Това гарантира, че конструкторът на родителски клас се изпълнява.

Почти всички Joomla! обектите и класовете произлизат от базовия клас JObject. Този клас предоставя няколко полезни метода, които всички класове могат да използват. Методът getPublicProperties () връща масив от публичните свойства на обекта. Това се определя по време на изпълнение и не се използват свойствата на класа, а свойствата на обекта.