Исходный файл PHP |
В листинге ниже приведен исходный код из файла mod_joompro_articles_author.php разрабатываемого модуля. Исходный код из файла mod_joompro_articles_author.php // прямой доступ отсутствует defined('_JEXECr) or die; // включать функции объединения только один раз Во второй строке приведенного выше кода вызывается метод JLoader:: register () для загрузки вспомогательного класса, хотя это можно было бы с тем же успехом сделать и с помощью команды require_once. Но в методе JLoader:: register () используется средство автозагрузки на языке РНР, да и выполняется он быстрее, чем команда requireonce. Поэтому там, где это возможно и уместно, следует пользоваться методом JLoader:: register () (или командой jimport, которая, в свою очередь, вызывает данный метод) вместо команды require_once. В следующей строке кода вызывается вспомогательный класс для получения списка статей. А далее проверяется, есть ли что-нибудь для отображения. Для того чтобы проверить, есть ли в массиве $list какое-нибудь содержимое, вместо условного выражения (isset($list[0])) { можно было бы воспользоваться выражением (count($list)) { Но в данном случае используется функция isset (), поскольку она действует быстрее. А в функции count () осуществляется циклическое обращение ко всем элементам массива с целью подсчитать их количество. Но нас не интересует, имеется ли в массиве один или сто элементов; нам нужно выяснить, есть ли в нем хотя бы один элемент. А поскольку это индексированный, а не ассоциативный массив, то при наличии в нем какого-нибудь содержимого у него должен быть хотя бы первый элемент с нулевым индексом Если имеется что-нибудь для отображения, то далее из соответствующего параметра выбирается суффикс класса данного модуля, а затем включается файл компоновки. Для включения файла компоновки используется команда require, поскольку это не класс, тогда как упоминавшийся ранее метод JLoader: : register () служит лишь для загрузки классов. Для этой цели не подходит и команда require_once, поскольку и так известно, что файл компоновки включается в данном месте кода лишь один раз. А назначение команды requireonce состоит в том, чтобы исключить любые попытки объявить тот же самый класс или функцию дважды, что привело бы к ошибке в коде РНР. Кроме того, команда require_once проверяет, включен ли уже файл, и поэтому она выполняется медленнее, чем команда require. Следовательно, командой require_once не стоит пользоваться там, где это неуместно. Для получения имени файла компоновки вызывается метод В рассматриваемом здесь коде было принято незначительное на первый взгляд, но очень важное проектное решение: проверить, содержит ли что-нибудь переменная
Понравился материал? Пригодилась информация? Плюсани в социалки!
Теги:
|
Похожие новости | |
|