Опис класу joomla jfactory - офіційний сайт компанії гаджет діжітал зон

СИНТАКСИС
об'єкт JAuthorization getACL ()

$ Acl = JFactory :: getACL ();

Повертає посилання на глобальний об'єкт докладання. Тип об'єкта, що повертається - JApplication.







Object JApplication getApplication ($ client, $ attribs, $ prefix)

де:
$ client
Тип даних - рядок.

Назва, під яким відома клієнтська частина програми. Наприклад, Joomla поставляється з трьома клієнтами програми: сайт, адміністративна частина і установка. За замовчуванням - null.

$ attribs
Тип даних - масив

Асоціативний масив атрибутів, які будуть прийняті додатком. За замовчуванням - масив.

$ prefix
Тип даних - рядок

Префікс, який додається до імені клієнта, щоб сформувати назву класу додатка.
За замовчуванням - "J".

Цей метод найчастіше використовується для того щоб отримати посилання на глобальний об'єкт докладання. У цьому випадку метод викликається без аргументів. У цьому прикладі ми отримуємо об'єкт докладання, щоб подивитися в якій частині сайту (користувальницької або адміністративної) був запущений код.

$ App = JFactory :: getApplication ();
if ($ app-> isSite ()) echo 'Client is site';
if ($ app-> isAdmin ()) echo 'Client is administrator';

Повертає посилання на глобальний об'єкт кеш. Тип об'єкта, що повертається - JCache.

Об'єкт JCache getCache ($ group, $ handler, $ storage)

$ group
Тип значення - рядок.

Назва групи кеша. Дозволяє розділити групи кешу, шляхом призначення їм унікальних імен.

Тип значення рядок.

Тип значення - рядок.

У цьому прикладі проведений простий виклик кеша. Ці кеші є результатом 'expensiveMethod', так що для даного набору аргументів результат обчислюється тільки один раз.

// Define a class to contain the computationally-expensive method.
class expensiveClass function expensiveMethod ($ signature) static $ instances;
if (! isset ($ instances)) $ instances = array ();
if (empty ($ instances [$ signature])) // Something that is resource-intensive to produce, here simulated
// by calculating the MD5 hash of the signature.
$ Instances [$ signature] = md5 ($ signature);
echo 'Cache miss';
> Else echo 'Cache hit';
>
return $ instances [$ signature];
>
>
// Create a cache instance.
$ Cache = JFactory :: getCache ( 'myCache');
// Specify the class and method that will produce the data to be cached.
$ Method = array ( 'expensiveClass', 'expensiveMethod');
// Now execute some code that will use the cache.
echo '. '. $ Cache-> get ($ method, 'abc'). "";
echo '. '. $ Cache-> get ($ method, 'efg'). "";
echo '. '. $ Cache-> get ($ method, 'abc'). "";
echo '. '. $ Cache-> get ($ method, 'hij'). "";
echo '. '. $ Cache-> get ($ method, 'klm'). "";
echo '. '. $ Cache-> get ($ method, 'hij'). "";

Результат виконання прикладу:

Cache miss. 900150983cd24fb0d6963f7d28e17f72
Cache miss. 7d09898e18511cf7c0c1815d07728d23
Cache hit. 900150983cd24fb0d6963f7d28e17f72
Cache miss. 857c4402ad934005eae4638a93812bf7
Cache miss. 3491f0dc1059a35bb1681b3bd67cb0d5
Cache hit. 857c4402ad934005eae4638a93812bf7

Повертає посилання на глобальний об'єкт конфігурація. Тип значення, що повертається - JRegistry.

Об'єкт JRegistry getConfig ($ file, $ type)

Тип значення - рядок.

Шлях до конфігураційного файлу. Якщо null тоді шлях - joomla / libraries / joomla / config. php. За замовчуванням null.

Тип значення - рядок.
Тип конфігураційного файлу. За замовчуванням "PHP".

Це метод використовується для доступу до глобальних конфігураційним змінним. У цьому прикладі отримуємо ім'я сайту.

$ Config = JFactory :: getConfig ();
echo 'Site name is'. $ Config-> getValue ( 'config. Sitename');

Повертає посилання на глобльний об'єкт дата. Тип возвращаемго значення - JDate.

Об'єкт JDate getDate ($ time, $ tzOffset)

Тип значення - рядок або число.

Використовувати дату або час. Щоб отримати поточну дату або час треба використовувати "now". Використовуваний формат буде залежати від поточної мови і від того переписаний чи за замовчуванням Григоріанський календар. Якщо тип значення є числом тоді дата інтерпрітіруется в форматі Unix. За замовчуванням "now".

Тип значення - число.

Зрушення часового поясу застосовується до дати і часу в $ time. Він вираховується з $ time так щоб обчислення дати / часу, збереженого в об'єкті дата було в форматі UT. За умовчанням 0.

ПРИКЛАД 1
У цьому прикладі виводяться поточні дата і час в локальному форматі.

$ Date = JFactory :: getDate ();






echo 'Current date and time is:'. $ Date-> toFormat (). "";

У цьому прикладі дата виводитися в форматі RFC2822, відповідному для більшості інтернет протоколів. Відзначимо, що дата повинна бути визначена в локальному форматі, інакше парсер не зможе її розпізнати.

У цьому прикладі дата визначена в форматі UNIX і в виводитися в форматі ISO 8601.

$ Date = JFactory :: getDate (1332362632);
echo 'Date and time is:'. $ Date-> toISO8601 (). "";

Повертає посилання на глобальний об'єкт база даних. Тип об'єкта, що повертається - JDatabase.

Об'єкт JDatabase getDBO ()

У цьому прикладі отримуємо префікс бази даних.

$ Db = JFactory :: getDBO ();
echo "Database prefix is.". $ Db-> getPrefix ();

Database prefix is. jos_

Повертає посилання на глобальний об'єкт документ. Тип значення, що повертається - JDocument.

Об'єкт JDocument getDocument ()

В цей прикладі отримуємо заголовок поточної сторінки.

$ Doc = JFactory :: getDocument ();
echo 'Current title is:'. $ Doc-> getTitle ();

Об'єкт JEditor getEditor ($ editor)

Тип значення - рядок.

$ Editor = JFactory :: getEditor ();
$ Params = array ( 'smilies' => '0',
'Style' => '1',
'Layer' => '0',
'Table' => '0',
'Clear_entities' => '0'
);
echo $ editor-> display ( 'desc', '', '400', '400', '20', '20', false, $ params);

Щоб зберегти HTML код, ви повинні явно запросити його з JRequest-Object інакше всі ваші HTML коди зникнуть.

/ * The store-procedure in your model might then look like this * /
[. ]
function store ()
$ Row = $ This-> getTable ();
$ Data = JRequest :: get ( 'post');
/ * Get proper HTML-code for your HTML-encoded field now by using JREQUEST_ALLOWHTML * /
$ Data [ 'yourfieldname'] = JRequest :: getVar ( 'yourfieldname', '', 'post', 'string', JREQUEST_ALLOWHTML);
/ * Now proceed as suggested * /
$ Row-> bind ($ data);
[. ]
$ Row-> check ();
[. ]
$ Row-> store ();
[. ]
>
[. ]

Повертає посилання на глобальний об'єкт мову. Тип значення, що повертається - JLanguage.

Об'єкт JLanguage getDocument ()

Наступний код визначає назву поточної мови.

$ Lang = JFactory :: getLanguage ();
echo 'Current language is:'. $ Lang-> getName ();

Повертає посилання на глобальний об'єкт мову. Тип значення, що повертається - JMail.

Об'єкт JLanguage getMailer ()

$ Mail = JFactory :: getMailer ();
$ Config = JFactory :: getConfig ();
$ Mail-> addRecipient ($ config-> getValue ( 'config. Mailfrom'));
$ Mail-> setSubject ( 'Test message');
$ Mail-> setBody ( 'This is an example email to test the Joomla! JFactory :: getMailer () method. Please ignore it');
if ($ mail-> Send ()) echo "Mail sent successfully.";
> Else echo "An error occurred. Mail was not sent.";
>

Повертає посилання на глобальний об'єкт сесія. Тип значення, що повертається - JSession.

Об'єкт JSession getSession ($ options)

Тип даних - масив.

Масив опцій. Можливі опції наведені нижче. За замовчуванням - масив.

Name - назва сесії;
id - унікальний ID сесії;
expire - дата і час закінчення терміну дії сесії;
security - список опцій безпеки розділених комами.

Наступний код отримує поточну сесію і встановлює значення "helloworld" для змінної "myvar"

$ Session = JFactory :: getSession ();
$ Session-> set ( 'myvar', 'helloworld');

Мінлива сесії може бути отримана більш легким способом

$ Session = JFactory :: getSession ();
echo 'Session variable myvar has value:'. $ Session-> get ( 'myvar', 'empty');

Повертає посилання на глобальний об'єкт шаблон. Тип значення, що повертається - JTemplate.

Об'єкт JTemplate getTemplate ()

У цьому прикладі отримуємо глобальний об'єкт шаблон.

$ Template = JFactory :: getTemplate ();

Статичний метод, який повертає посилання на глобальний об'єкт JURI. Тип значення, що повертається - JURI. Глобальний об'єкт URI є URI відповідає за відображення поточної сторінки.

У цьому прикладі ми отримуємо URI як рядок

$ U = JFactory :: getURI ();
echo 'URI is'. $ U-> toString (). "";

Повертає посилання на глобальний об'єкт користувач. Тип значення, що повертається - JUser

Об'єкт JUser getUser ($ id)

Тип значення - число або рядок.

Якщо передана рядок, тоді вона буде інтерпретована як ім'я користувача і сконвертовано в id автоматично. Якщо аргумент пропущено або передано значення null тоді буде завантажений поточний користувач. За замовчуванням значення - null.

$ User = JFactory :: getUser ();
if (! $ user-> guest) echo 'You are logged in as:
';
echo 'User name:'. $ User-> username. '
';
echo 'Real name:'. $ User-> name. '
';
echo 'User ID. '. $ User-> id. '
';
>

У цьому прикладі показана інформація про користувача з ім'ям 'joebloggs'. При цьому не важливо чи є він поточним.

$ User = JFactory :: getUser ( 'joebloggs');
if ($ user-> id == 0) echo 'There is no user joebloggs registered on this site.
';
> Else echo 'User name:'. $ User-> username. '
';
echo 'Real name:'. $ User-> name. '
';
echo 'User ID. '. $ User-> id. '
';
>

У цьому прикладі визначається, чи має поточний користувач права на редагування.

$ User = JFactory :: getUser ();
if ($ user-> authorize ( 'com_content', 'edit', 'content', 'all')) echo 'Editing permitted.';
> Else echo 'Editing not permitted.';
>

Повертає посилання на глобальний об'єкт XML парсер. Тип значення, що повертається залежить від типу запитаного парсеру

Об'єкт getXMLParser ($$ type, $ options)

Тип даних - рядок.

Тип XML парсеру. Список доступних опцій наведено нижче. За замовчуванням "DOM".

Тип даних - масив.

Масив опцій, які можуть допомогти конфігурувати парсер. Він залежить від обраного парсеру.

Rss - SimplePie парсер для стрічки новин. Для роботи цього парсера в масив опцій повинен бути переданий URL ($ options [ 'rssUrl']). Щоб визначити час життя кешу в масив опцій треба передати таке значення: $ options [ 'cache_time'];
atom - те ж саме що rss;
simple - JSimpleXML парсер;
dom - Domit парсер. Якщо опція "lite" ($ options [ 'lite']) буде встановлена ​​true, то буде використаний Domit lite парсер.

У цьому прикладі JSimpleXML парсер використовується для того щоб отримати зумовлені позиції модулів в шаблоні Milky Way

$ Xml = JFactory :: getXMLParser ( 'simple');
$ Xml-> loadFile ( 'templates / rhuk_milkyway / templateDetails. Xml');
$ Positions = $ Xml-> document-> getElementByPath ( 'positions');
foreach ($ positions-> children () as $ position) echo $ position-> data (). "";
>

Breadcrumb
left
right
top
user1
user2
user3
user4
footer
debug
syndicate