Используется для построения и возвращения объектов.
Определен
/libraries/joomla/factory. php
МЕТОДЫ
1. getACLВозвращает глобальный объект авторизации. Тип возвращаемого объекта - JAuthorization.
СИНТАКСИС
объект JAuthorization getACL()
ПРИМЕР
В этом примере получен глобальный объект авторизации
$acl =& JFactory::getACL();
2. getApplicationВозвращает ссылку на глобальный объект приложения. Тип возвращаемого объекта - 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
Тип значения - строка.
Название группы кэша. Позволяет разделить группы кэша, путем назначения им уникальных имен.
$handler
Тип значения строка.
$storage
Тип значения - строка.
ПРИМЕР
В этом примере произведен простой вызов кэша. Эти кэши являются результатом "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 )
$file
Тип значения - строка.
Путь к конфигурационному файлу. Если null тогда путь - joomla/libraries/joomla/config. php. По умолчанию null.
$type
Тип значения - строка.
Тип конфигурационного файла. По умолчанию "PHP".
ПРИМЕР
Это метод используется для доступа к глобальным конфигурационным переменным. В этом примере получаем имя сайта.
$config =& JFactory::getConfig();
echo "Site name is " . $config->getValue( "config. sitename" );
4. getDate
Возвращает ссылку на глобльный объект дата. Тип возвращаемго значения - JDate.
СИНТАКСИС
объект JDate getDate( $time, $tzOffset )
где:
$time
Тип значения - строка или число.
Использовать дату или время. Чтобы получить текущую дату или время надо использовать "now". Используемый формат будет зависить от текущего языка и от того переписан ли по умолчанию Григорианский календарь. Если тип значения является числом тогда дата интерпритируется в формате Unix. По умолчанию "now".
$tzOffset
Тип значения - число.
Сдвиг часового пояса применяется к дате и времени в $time. Он вычитается из $time так чтобы вычисление даты/времени, сохраненного в объекте дата было в формате UT. По умолчанию 0.
ПРИМЕР 1
В этом примере выводятся текущие дата и время в локальном формате.
$date =& JFactory::getDate();
echo "Current date and time is: " . $date->toFormat() . " ";
Результат: Current date and time is: 2008-11-22 18:14:08
ПРИМЕР 2
В этом примере дата выводиться в формате RFC2822, подходящем для большинства интернет протоколов. Отметим, что дата должна быть определена в локальном формате, иначе парсер не сможет ее распознать.
Результат: Date and time is: Wed, 16 Apr 2008 13:30:00 +0000
ПРИМЕР 3
В этом примере дата определена в формате UNIX и в выводиться в формате ISO 8601.
$date =& JFactory::getDate( 1332362632 );
echo "Date and time is: " . $date->toISO8601() . " ";
Результат:
Date and time is: 2012-03-21T20:43:52Z
5. getDBOВозвращает ссылку на глобальный объект база данных. Тип возвращаемого объекта - JDatabase.
СИНТАКСИС
объект JDatabase getDBO()
ПРИМЕР
В этом примере получаем префикс базы данных.
$db =& JFactory::getDBO();
echo "Database prefix is : " . $db->getPrefix();
Результат:
Database prefix is : jos_
6. getDocumentВозвращает ссылку на глобальный объект документ. Тип возвращаемого значения - JDocument.
СИНТАКСИС
объект JDocument getDocument()
ПРИМЕР
В этот примере получаем заголовок текущей страницы.
$doc =& JFactory::getDocument();
echo "Current title is: " . $doc->getTitle();
Возвращает ссылку на глобальный объект редактор. Тип возвращаемого значения - JEditor
СИНТАКСИС
объект JEditor getEditor( $editor )
где:
$editor
Тип значения - строка.
Название редактора (например, "tinymce"). Если null, то будет возвращен текущий редактор. По умолчанию null.
ПРИМЕР
В этом примере, вы можете посмотреть как отобразить редактор и послать ему параметры для отображения.
$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 );
Полный список параметров для редактора TinyMCE можно посмотреть /plugins/editor/tinymce. php.
Надо отметить, что JRequest::GET по умолчанию приводит все HTML коды к простому тексту, что может быть бесполезно при использовании редактора.
Чтобы сохранить 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 )
где:
$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();
12. getURIСтатический метод, который возвращает ссылку на глобальный объект JURI. Тип возвращаемого значения - JURI. Глобальный объект URI представляет собой URI отвечающий за отображение текущей страницы.
ПРИМЕР
В этом примере мы получаем URI как строку
$u =& JFactory::getURI();
echo "URI is " . $u->toString() . " ";
Результат:
URI is http://www. example. com/joomla/index. php?task=view&id=12&Itemid=29
13. getUserВозвращает ссылку на глобальный объект пользователь. Тип возвращаемого значения - JUser
СИНТАКСИС
объект JUser getUser($id)
где:
$id
Тип значения - число или строка.
Если передана строка, тогда она будет интерпретирована как имя пользователя и сконвертирована в id автоматически. Если аргумент пропущен или передано значение null тогда будет загружен текущий пользователь. По умолчанию значение - null.
ПРИМЕР 1
В этом примере показана некоторая информация для текущего пользователя. При этом пользователь должен быть авторизован.
$user =& JFactory::getUser();
if (!$user->guest)
echo "You are logged in as:<br />";
echo "User name: " . $user->username . "<br />";
echo "Real name: " . $user->name . "<br />";
echo "User ID : " . $user->id . "<br />";
ПРИМЕР 2
В этом примере показана информация о пользователе с именем "joebloggs". При этом не важно является ли он текущим.
$user =& JFactory::getUser( "joebloggs" );
if ($user->id == 0)
echo "There is no user joebloggs registered on this site. <br />";
else
echo "User name: " . $user->username . "<br />";
echo "Real name: " . $user->name . "<br />";
echo "User ID : " . $user->id . "<br />";
ПРИМЕР 3
В этом примере определяется, имеет ли текущий пользователь права на редактирование.
$user =& JFactory::getUser();
if ($user->authorize( "com_content", "edit", "content", "all" ))
echo "Editing permitted. ";
else
echo "Editing not permitted. ";
Возвращает ссылку на глобальный объект XML парсер. Тип возвращаемого значения зависит от типа запрошенного парсера
СИНТАКСИС
объект getXMLParser( $$type, $options )
где:
$type
Тип данных - строка.
Тип XML парсера. Список доступных опций приведен ниже. По умолчанию "DOM".
$options
Тип данных - массив.
Массив опций, которые могут помочь сконфигурировать парсер. Он зависит от выбранного парсера.
Поддерживаемые парсеры:
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
Автор статьи: неизвестный | Дата публикации: 15:39 14.12.2016 Suchinfo.Ru
Наш сайт является ресурсом, который включает в себя широкий ассортимент полезных и отличных статей. Каждый посетитель найдет для себя что-нибудь полезное. Адаптированный дизайн позволяет вам максимально быстро находить необходимую информацию. Самые разнообразные тематические статьи дают возможность вам совершенствоваться в той или иной сфере. Быть более начитанным и грамотным. Современный дизайн сайта позволяет просматривать статьи на всех гаджетах. Теперь найти нужную информацию стало совершенно легко.
Мы подобрали для вас познавательные и занимательные статьи. У нас сайте вы найдете ответы на необходимые для вас вопросы. Упрощенная система поиска позволяет вам мгновенно отыскать нужную информацию. Адаптированный дизайн позволяет вам просматривать информацию на любых электронных устройствах. Отныне, поиск нужной информации будет занимать у вас считанные секунды.