Kohana API Browser - PullRequest
       13

Kohana API Browser

0 голосов
/ 24 января 2012

Я новичок в kohana, так как я привык к codeigniter. Я должен признать, что в Кохане есть много интересных вещей, которые я хочу глубоко узнать, и это, кажется, шаг за шагом, почти во всем, конечно, это мое мнение. Одна вещь, которую я действительно оценил, это автоматически сгенерированный браузер API, если он будет работать !!! Я расширил класс HTML-помощника следующим образом:

<?php defined('SYSPATH') or die('No direct script access.');
/**
 * Extend HTML helper
 */
class HTML extends Kohana_HTML
{
    /**
     * HTML Wrapper for messages
     *
     * @param string message content
     * @param string message author 
     * @param int message timestamp
     * @return string
     * @uses HTML::chars
     * @uses Date::fuzzy_span
     */
    public static function message( $content, $author, $timestamp )
    {
        $formatted = '<div class="message">';
        $formatted .= self::chars( $content );
        $formatted .= '<span class="author">' . self::chars( $author ) . '</span>';
        $formatted .= '<span class="published">' . Date::fuzzy_span( $timestamp ) . '</span>';
        $formatted .= '</div>';
        return $formatted;
    }

}

Я написал это в /application/classes/html.php Когда я захожу в руководство пользователя, а затем в браузер API, я вижу список классов и HTML там, с моим новым методом также там. Если я нажимаю на ссылку, я просто получаю пустую страницу, и это поведение не меняется, даже если я нажимаю на другой класс / метод.

Если я удаляю все содержимое моего файла html.php, то, похоже, снова работает весь API-интерфейс !! Я уже ищу в Интернете эту проблему, но я не нашел никаких результатов. Можете ли вы помочь мне найти решение? Tnx заранее

Ответы [ 2 ]

0 голосов
/ 08 августа 2012

Кроме того, вы не должны использовать HTML в контроллерах ... Лучше установить родительский класс, который загружает разные партиалы, либо установить сообщение непосредственно в шаблоне и выполнить

<?php if ($message):?>
<div class="message">
<?=$message?>
<span class="author"><?=$author?></span>
<span class="published"><?=Date::fuzzy_span( $timestamp )?></span>';
</div>
<?php endif;?>

. Это облегчает задачу.чтобы другие читали ваш код, и при работе с другими они будут лучше понимать ваш код.Кроме того - ознакомьтесь с правилами кодирования на kohanas раздел кодировки

0 голосов
/ 26 января 2012

Извините, ребята, но, исследуя, я увидел, что файл html.php НЕ ДОЛЖЕН быть помещен в каталог dir контроллера, вместо этого он ДОЛЖЕН быть помещен в класс dir, извините за это, я не привык иметь класс dir в CI, поэтомуя полностью забыл, что есть, господин лол!Надеюсь, что это поможет кому-то другому, «слепому», как я!

...