kohana 框架简单小结

来源:互联网 发布:java常用框架 编辑:程序博客网 时间:2024/06/04 20:06

kohana 框架是一个相对比较小众的php框架 ,是有一个开源组织开发的mvc框架。

(1)Controller 篇

1.接受参数

$this -> request -> param('key') 返回的是route路由里定义的参数

Arr :: get($_GET, 'key') 获取的是GET作用于里key对应的值

2. 重定向

$this -> request -> redirect()

3. 页面渲染一个模板

$this -> resposne -> body(string $content)

4. before() and after() 的作用

before 是action在被执行之前所执行的操作, 你不必改变Controller 的__construct() 方法

after 是action执行之后所执行的操作


(2)Model 篇:

1.如何使用model

自定义model类要继承Model基类,如果要使用数据库继承Model_database 即可

插入数据$sql="INSERT INTO `kohana`.`user` (`name` ,`age` )VALUES ( 'test', '1'), ( 'test2', '2')";$dat=$this->_db->query(Database::INSERT,$sql,false);# return 返回的两个值中,第一个是自动增长的ID,如果有的话,第二是影响的行数

更新数据$sql="UPDATE `ko_users` SET `user_name` = 'test111q1'  ";$dat=$this->_db->query(Database::UPDATE,$sql,false);#return 返回影响行数
删除数据$sql="DELETE FROM `kohana`.`user` WHERE `user`.`id` = 1";$dat=$this->_db->query(Database::DELETE,$sql,false);#return 返回影响行数

查询数据$sql="select * from ko_com_var";$res=$this->_db->query(Database::SELECT,$sql,false);#得到所有查询数据$res->as_array();#得到一条查询结果$res->offsetGet(0);#取得特定记录的指定字段值$res->get("name");#移动指针并取得指定字段$res->next()->get("name");$res->prev()->get("name");#计算取得结果总数$res->count();#还有其他方法不在一一罗列,请查看手册

第二种(查询器模式)

$query = DB::insert('user', array('user', 'age'))        ->values(array('test1', '11'));$query->execute();#返回和上面一样

$query = DB::update('user')        ->set(array('age' => '100'))        ->where('user', '=', 'test1');$query->execute();#返回和上面一样

$query = DB::delete('user')        ->where('age', 'IN', array('100', '11'));$query->execute();#返回和上面一样

$query = DB::select()->from('user')->where("id","=","1");$res=$query->execute();#和上面一样,$res是Database_Result_Cached对象$res->as_array();#其他方法不演示了~
$query = DB::query(Database::INSERT, 'INSERT INTO users (username, password) VALUES (:user, :pass)')->bind(':user', $username)->bind(':pass', $password);foreach ($new_users as $username => $password){    $query->execute();}


(3)View 篇

1.如何在action里使用一个模板

View :: factory(' temlate fiels path)

2. 如何往页面上传值

View :: factory(' temlate fiels path, data数组(传到页面上的数据))

3. 如何在模板里包含公用模板

在模板里面 <?php echo View :: factory('temlate files path') ?>                 //注意:这里的path是相对于“项目/src/views”为根目录的

4.如何往公共模板里传值

View :: set_golbal('key', $val) 或者bind_global('key', $val)

5.

route路由篇

config 篇

1如何自定义一个配置文件

普通的PHP文件,存储在config /目录中,返回一个关联数组

2.如何访问

$config = Kohana::$config->load('myconf');

$options = $config->get('options')

或者 $options = $config->get('myconf.options')

message篇

$forms = Kohana::message('message 文件名', 'key' )

message文件返回一个关联数组,key是代表键,多维数组的 key1.key2访问

log 日志篇

第一种方法Kohana_log_File

$writer = new Kohana_Log_File(APPPATH . 'logs/mylog');

$writer -> write(array(array('level' => Kohana_Log::INFO, 'body' => 'log body', 'time' => time())));

第二种方法

$writer = new Kohana_Log_File(APPPATH . 'logs/mylog');

Kohana_Log::instance() ->attach($writer) ->add(Kohana_Log::INFO, 'log body');




 
0 0
原创粉丝点击