2012-01-24 53 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