kohana 简单使用
聲明:基于公司使用的 Kohana 框架寫的,不確定是否適用于原生 Kohana
附:Kohana 3 中文手冊(cè),傳送門:http://www.lampblog.net/kohana3%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C/
?
1)請(qǐng)求和響應(yīng)
1.1)獲取請(qǐng)求參數(shù)
獲取$_GET 或 $_POST 之類的全局變量:
$this->response->get() 、$this->response->post();數(shù)組變量獲取和空處理:
Arr::get($this->request->post(), 'user_name', '');Arr::get($this->request->get(), 'page', 1);?
注:三個(gè)參數(shù)分別是:要處理的數(shù)組、變量key、為空時(shí)返回值
?
?
1.2)響應(yīng)模版或json
顯示模版:
$this->view('user_index');1.2.1)輸入變量到模版
$this->view('user_index')->set('user_info', $user_info)->set('order_status_nums', $order_status_nums);1.2.2)公共頭和腳
\modules\module\classes\template.php 類里?get_header_view 和?get_footer_view 分別處理公共頭部和公共腳部
?
1.3)重定向跳轉(zhuǎn)
$this->request->redirect($url);?
?
?
2)session 和 cookie
2.1)使用 session
Session::instance()->set('user_id', $user_id); Session::instance()->get('user_id');2.2)使用 cookie
Cookie::instance()->set('user_id', $user_id); Cookie::instance()->get('user_id');?
?
?
3)數(shù)據(jù)庫操作
3.1)增(DB::insert())
DB::insert(‘table_name’, array(‘column’))->values(array(‘column_value’))->execute(); 如果命令成功,你就能得到一個(gè)包含 insert_id 和 total_rows (總共影響到的行數(shù))組成的數(shù)組3.2)刪(DB::delete())
$total_rows = DB::delete(‘table_name’)->where(‘column’,’=’,’value’)->execute(); 如果命令成功,你就能得到結(jié)果中影響到的行數(shù)3.3)改(DB::update())
$total_rows = DB::update(‘table_name’)->set(array(‘column’=>’value’))->where(‘column’,’=’,’value’)->execute(); 如果命令成功,你就能得到結(jié)果中影響到的行數(shù)3.4)查(DB::select())
$result = DB::select()->from(‘table_name’)->where(‘column’,’=’,’value’)->execute()->as_array();3.4.1)查詢一行
$result = DB::select('column')->from('table_name')->execute()->current();3.4.2)字段別名
$result = DB::select(array('longcolumnname1', 'col1'), array('longcolumnname2', 'aliascol2'))->from('table_name')->execute()->as_array();3.5)使用原生 sql
$arr = DB::query ( Database::SELECT, $sql )->execute()->as_array();query 方法的第一個(gè)參數(shù)是操作類型,可選值為:Database::SELECT、Database::INSERT、NULL
類型為select時(shí)返回結(jié)果集,類型為insert時(shí)返回insert_id,類型為null 或 其他值 時(shí)返回影響的行數(shù)
3.6)打印上一條查詢的 sql
ORM 或 Model 可使用 last_query() 方法獲取上一條查詢語句
Database::instance()->last_query
3.7)sql 預(yù)處理
DB->select('col1','col2')->form('table_name')->where('user_id', '=', ':id')->param(':id', 1)->execute()->as_array();?3.8)排序與分頁
$results = DB::select()->from('users')->order_by('id','desc')->limit($page_size)->offset($offset)->execute();?
?
?
4)service 和 dao
service 和 dao 不是必用項(xiàng),可以按息要求和習(xí)慣寫或不寫都可以,它們本質(zhì)就是封閉了一些 DB 操作方法(函數(shù))
公共service 和 dao 分別位于 /modules/module/classes/service/ 和 /modules/module/classes/dao/ 下,你也可以在本應(yīng)用的 classes 下新建 service 和 dao 來覆蓋公共的類(優(yōu)先級(jí)比公共的高)
?
?
完
轉(zhuǎn)載于:https://www.cnblogs.com/tujia/p/6652324.html
總結(jié)
以上是生活随笔為你收集整理的kohana 简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: \qq
- 下一篇: scanf()的使用