Вызов методов другого приложения

Вебасист позволяет в исходном коде одного приложения вызывать методы другого приложения. Это допускается делать и в PHP-коде, и в коде шаблонов (включая темы дизайна), как показано в следующих примерах.

PHP

//прежде всего убеждаемся в том, что стороннее приложение установлено
//вызов функции wa() с идентификатором стороннего приложения необходим для того,
//чтобы сделать его классы доступными в коде вашего собственного приложения или плагина

if (wa()->appExists('blog')) {
    wa('blog');
    $blog_authors = blogHelper::getAuthors(1);
}

Smarty

//для того чтобы сделать классы другого приложения доступными в шаблоне Smarty,
//необходимо обратиться к полю объекта $wa, имя которого совпадает с ID приложения,
//чтобы убедиться, что это поле не пустое
{if $wa->blog}
    {$blog_authors = blogHelper::getAuthors(1)}
{/if}

Вызов методов плагинов

Помимо методов другого приложения допускается вызывать и методы плагинов другого приложения. Для этого нужно немного усложнить проверку в вашем коде:

PHP

if (wa()->appExists('blog')) {
    wa('blog');
    //проверяем, доступен ли статический метод с именем getData класса некоторого плагина с идентификатором some
    if (method_exists('blogSomePlugin', 'getData')) {
        $data = blogSomePlugin::getData();
    }
}

Smarty

{if $wa->blog}
    //проверяем, доступен ли статический метод с именем getData класса некоторого плагина с идентификатором some
    {if method_exists('blogSomePlugin', 'getData')}
        {$data = blogSomePlugin::getData()}
    {/if}
{/if}

0 комментариев

    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите