class CI_Model {
function __construct()
{
log_message('debug', "Model Class Initialized");
}
function __get($key)
{
$CI =& get_instance();
return $CI->$key;
}
}
这个类里面的__get($key)方法看不懂吗,请解释
这个类里面的__get($key)方法看不懂!请解释
求解释一个CI框架问题
答案:2 悬赏:60 手机版
解决时间 2021-03-02 15:14
- 提问者网友:謫仙
- 2021-03-01 20:27
最佳答案
- 五星知识达人网友:风格不统一
- 2021-03-01 21:10
这个get方法是实例化一个对象
返回的是你传的参数$key
举例如下
如你创建一个model类继承ci_model
mymodel.php
class Mymodel extends CI_Model{
.........
有个方法
function getinformation(){
........
}
}
在控制器里调用此model
getinfo.php
class Getinfo extends CI_Controller{
.......
function getinfo(){
$this->load->model('getinformation'); //载入你创建的model,相关于载入了getinformation这个model里所有的变量,常量及方法。
//以下为_get方法的功能,也就是调用此model类里的方法
$this->getinformation->getinformation(); //
}
}
返回的是你传的参数$key
举例如下
如你创建一个model类继承ci_model
mymodel.php
class Mymodel extends CI_Model{
.........
有个方法
function getinformation(){
........
}
}
在控制器里调用此model
getinfo.php
class Getinfo extends CI_Controller{
.......
function getinfo(){
$this->load->model('getinformation'); //载入你创建的model,相关于载入了getinformation这个model里所有的变量,常量及方法。
//以下为_get方法的功能,也就是调用此model类里的方法
$this->getinformation->getinformation(); //
}
}
全部回答
- 1楼网友:往事隔山水
- 2021-03-01 21:57
不晓得你这路由啥情况,我都是尽量避免设置路由的。
阁下的情况,我可以给出一个折衷的办法:
路由里这样设置:
$route['news/(:any)'] = "news/news_lastest_by_year/$1";然后,在你的news控制器里,写这样一个方法
function news_lastest_by_year($year, $page)
{
$year = intval($year);//将传过来的第一个参数强制转换为整数,如2014转为2014
$page = intval($page);//将传过来的第二个参数强制转换为整数,如1.html转为1
//后续代码
}当然,这个有个条件,那就是news/$1/$2 这后面的两个参数只能是数字,如果不是数字,都会被强制转化为数字 。
当然,若非要传非数字的参数,那么在控制器里,就不要用intval()来强制转换,可以用正则匹配,检测它是不是数字
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯