作者:mobiledu2502938445 | 来源:互联网 | 2018-05-13 09:00
我添加了一个方法list{代码...}OK报错了然后去配置后缀{代码...}给系统关键字的方法添加后缀{代码...}OK我再去打开浏览器大家思考一下会出现什么情况对应该是会继续报错非法操作index但是实际上没有报错...
我添加了一个方法 list
";
}
public function index(){//index()方法 public
// echo '
Hello Think PHP';
// $cOnfig=C('');//读取全部配置项
// dump($config);//dump()是ThinkPHP的函数用来打印变量的
echo "index
";
}
public function _after_index(){//定义后置操作
echo "index.after
";
}
public function list(){//注意系统关键字会报错
echo "list";
}
}
OK报错了
然后去配置后缀
'配置值'
/* 数据库设置 */
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'jike', // 数据库名
'DB_USER' => 'user', // 用户名
'DB_PWD' => '123', // 密码
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => 'jikexueyuan', // 数据库表前缀
'LOAD_EXT_CONFIG' => 'user,upload',
/* 应用设定 */
'ACTION_SUFFIX' => 'Action', // 操作方法后缀
);
给系统关键字的方法添加后缀
";
}
public function index(){
// $cOnfig=C('');
// dump($config);
echo "index
";
}
public function _after_index(){
echo "index.after
";
}
public function listAction(){
echo "list";
}
}
OK我再去打开浏览器
大家思考一下会出现什么情况
对应该是会继续报错
非法操作index
但是实际上没有报错非法操作index
而且很正常的运行着
你看前置后置也是正常的???
为什么?
怎么和课程有出入
不知道是不是我疏忽了什么
单是我真心仔细检查了都没发现是什么原因
刚入门求解惑
回复内容:
我添加了一个方法 list
";
}
public function index(){//index()方法 public
// echo '
Hello Think PHP';
// $cOnfig=C('');//读取全部配置项
// dump($config);//dump()是ThinkPHP的函数用来打印变量的
echo "index
";
}
public function _after_index(){//定义后置操作
echo "index.after
";
}
public function list(){//注意系统关键字会报错
echo "list";
}
}
OK报错了
然后去配置后缀
'配置值'
/* 数据库设置 */
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'jike', // 数据库名
'DB_USER' => 'user', // 用户名
'DB_PWD' => '123', // 密码
'DB_PORT' => '3306', // 端口
'DB_PREFIX' => 'jikexueyuan', // 数据库表前缀
'LOAD_EXT_CONFIG' => 'user,upload',
/* 应用设定 */
'ACTION_SUFFIX' => 'Action', // 操作方法后缀
);
给系统关键字的方法添加后缀
";
}
public function index(){
// $cOnfig=C('');
// dump($config);
echo "index
";
}
public function _after_index(){
echo "index.after
";
}
public function listAction(){
echo "list";
}
}
OK我再去打开浏览器
大家思考一下会出现什么情况
对应该是会继续报错
非法操作index
但是实际上没有报错非法操作index
而且很正常的运行着
你看前置后置也是正常的???
为什么?
怎么和课程有出入
不知道是不是我疏忽了什么
单是我真心仔细检查了都没发现是什么原因
刚入门求解惑
我想你是不是理解错了:
例如,如果设置:
'ACTION_SUFFIX'=>'Act'
那么访问某个模块的add操作对应读取模块类的操作方法则由原来的add方法变成addAct方法。
意味着你在index后面添加Action和不添加,他都会去找实际控制器里面的index方法,因为入口文件会根据你的方法名称匹配是否存在Action字符串,找不到就会去找这个字符串的名称对应的方法!
这样是避免了特殊命名公用报错的问题