Kohana 之 路由,核心及多国语言实现

本来什么好讲的,但有几个函数还是记录下,比较实用

打印代码:(给个文件和行数)

<?php
echo Kohana::debug_source(__FILE__, __LINE__);
 
打印当前行的代码有个函数
print_r(Kohana::trace());


抛出异常

<?php
try{
echo Kohana::error_handler(555,"被抛出的异常");
}catch (Exception $e){
	print_r($e);
}

//有点郁闷,异常不知道放哪~
格式化异常错误(输出格式为:Error [ Code ]: Message ~ File [ Line ])
<?php
echo Kohana::exception_text($e);

 
站点级别的文件对应绝对路径(只打印引入目录下的文件~)
<?php
print_r(Kohana::list_files());

 

指定加载(有点破坏原有架构的感觉),相对站点根目录

<?php
Kohana::load('foo.php');
 
消息,这个非常有用~
<?php
Kohana::message("message","msg2","default message");

参数说明:第一个是文件名,第二个是字段,第三个是默认消息
 
格式化输入,转换统一的换行符什么的~,统一转换下咯~
<?php
print_r(Kohana::sanitize( array("ddd","ddd") )); 

其他不解释了,看文档去,很简单~

 

有个数据绑定函数可以提下

__();

有点用处,

使用方法:

<?php
echo __('Hello, :user', array(':user' => 'abc'));

配合i18n ,得到多国语言,非常好用,呵呵~

给个实例先:

<?php
$hello = I18n::get('aaa :user');
echo __($hello, array(':user' => 'lonely'));

其实I18N不用手动去取,之要站点的消息输出保持__()来调用,就可以自动使用多国语言,说的不明白,看下面实例吧

<?php
I18n::lang("zh-cn");
$hi=Kohana::message("message","msg","hi :user");
echo __($hi,array(":user"=>"lonely"));

其中我的语言的配置文件为zh.php

<?php defined('SYSPATH') or die('No direct access allowed.');
return array(
	'hi :user'=>'你好, :user'
);

 

结果输出为:你好,lonely

爽吧,更改语言只需要添加配置文件就可以实现,不过由于这样的翻译文件统一使用一个,文件大了可能会有点影响,

不过可能不大,几百K的文件加载可能感觉都没感觉到~

posted @ 2010-08-20 10:34  liushan  阅读(762)  评论(0)    收藏  举报