Еще один более совершенный прием программирования для Joomla состоит в применении переменных вместо имен классов и методов. Например, в методе execute () из класса JController имеется следующая строка кода:
|
В состав языка РНР входит целый ряд так называемых "волшебных" методов, автоматически вызываемых в предопределенных местах программ. Имена всех этих методов начинаются с двойного знака подчеркивания ( ). Характерным тому примером служит метод construct () . Этот метод автоматически вызывается всякий раз, когда с помощью оператора new создается новый объект:
|
В языке РНР теперь допускается связывание методов в цепочку. Это означает, что если один метод возвращает объект, то этот объект может быть использован для выполнения другого метода. Ниже приведен простой пример связывания методов в цепочку.
|
В некоторых местах кодовой базы Joomla можно встретить фрагменты кода, аналогичные следующему:
|
Для отладки программы не менее важно выяснить, каким образом ее выполнение достигло интересующей нас стадии. Как упоминалось ранее, в программном стеке хранится последовательность вызовов функций, приведшая к данной стадии выполнения программы (например, в файле index .php был вызван метод dispatch () из класса JSite, где, в свою очередь, был вызван метод renderComponent () из класса JComponentHelper). Содержимое стека можно вывести в любой момент выполнения программы с помощью следующего фрагмента кода:
|
Для просмотра всех переменных и установленных в них значений в области их действия можно, в частности, ввести следующий фрагмент кода в нужном месте программы:
|
Иногда оказывается полезно заглянуть в работающую программу, чтобы проанализировать значения ее переменных. Как пояснялось в прошлых статьях нашего сайта, для этой цели в частности и для отладки программ, написанных на языке РНР, вообще можно воспользоваться интегрированной средой разработки Eclipse или Netbeans.
|
Специальная переменная $this служит для обращения к текущему объекту из его класса. Так, в приведенном ниже примере метод getModel () вызывается из того же самого класса.
|
Статические методы вызываются из самого класса, а не его объекта, как в приведенном ниже примере.
|
Когда в классе создаются поля и методы, они обозначаются модификаторами доступа как открытые (public), защищенные (protected) и закрытые (private).
|
|
|
|
Страница 2 из 40
|