2012-01-24 79 views
0

我是kohana的新手,因爲我習慣於codeigniter。我不得不承認,kohana有很多我想要深入瞭解的有趣的東西,它似乎是ci的一大步,幾乎所有的東西,這都是我的看法。有一件事,我真的很感激自動生成的api瀏覽器,如果它能工作!我延長了HTML「幫手」類以這樣的方式Kohana API瀏覽器

<?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 當我進入userguide然後API瀏覽器,我看到的類列表和HTML在那裏,我的新方法也在那裏。如果我點擊鏈接,我只是得到一個空白頁面,即使我點擊另一個類/方法,這種行爲也不會改變。

如果我刪除了我的html.php文件的所有內容,那麼所有的api瀏覽器似乎再次工作!我已經在網上搜索這個問題,但我沒有找到任何結果。 你能幫我弄清楚解決方案嗎? Tnx提前

回答

0

對不起,但調查我看到,html.php文件不應該被放在控制器目錄,而是它必須放在類目錄,對不起,我不習慣有一個類在CI的目錄,所以我完全忘記有那個dir哈哈!希望它能幫助像我這樣「盲目」的其他人!

0

而且你不應該在控制器上使用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 coding convention section