Skip to content
Anton edited this page Oct 21, 2013 · 8 revisions

Назначение

Реализация поддержка Helper'ов для класса, есть наверное и для этого патерн, но я его не знаю, а по факту это отдельные методы в отдельных файлах

Использование

Код класса:

<?php
namespace Application;
/**
 * @method void foo(string $text)
 */
class My {
    use Helper;
    public function __construct()
    {
        // initial default helper path
        $this->addHelperPath(dirname(__FILE__) . '/Helper/');
    }
}

Код помощника в файле /Helper/Foo.php

<?php
return function ($text) {
    print($text);
}

Использование:

<?php
$my = new My();
$my->foo('Hello!'); // => Hello!

Внимание

Пути к помощникам данный класс добавляет как статическое свойство класса, таким образом, путь будет одним и тем же как для класса, так и для всех его потомков, данный финт использует View и Layout у них они одни на двоих.

При добавление помощников в репозиторий, следует описать метод в doccomment'ах расширяемого файла, что позволит использовать автодополнение в IDE.

Clone this wiki locally