我们可以在app/explore/目录下面找到一个 main.php 文件,这就是WeCenter默认的explore控制器文件。
控制器类的命名方式是:控制器名 或者是main,名称要与这个php名相同。如果是 控制器文件的命名方式是:类名.php(类文件后缀)
首页页面其实就是访问的explore模块下面的main控制器类的index操作方法 我们修改默认的index操作方法如下:
~~~
class main extends AWS_CONTROLLER {
public function index_action(){
echo 'hello world';
}
}
~~~
再次运行应用入口文件,浏览器会显示:hello,world!。
我们再来看下控制器类, class main extends AWS_CONTROLLER 每一个控制器使用,都需要继承AWS_CONTROLLER,才能进行操作,否则,这个控制器不能被实例化使用。
在控制器里面,如果有需要初始化执行的动作,则需要把需要预先执行的代码放在一个setup()方法中。如:
~~~
public function setup()
{
if (is_mobile() AND !$_GET['ignore_ua_check'])
{
switch ($_GET['app'])
{
default:
HTTP::redirect('/m/');
break;
}
}
}
~~~
这个预先执行的意思就是如果是mobile(手机端)访问,并且没有设置手机端看电脑版,则跳转到手机端指定页面。 在控制器里,可以规定该控制器是登陆后访问还是不需要登陆就能访问,则需要添加一个get_access_rule()方法。如:
~~~
public function get_access_rule()
{
$rule_action['rule_type'] = 'white'; //'black';黑名单,黑名单中的检查 'white'白名单,白名单以外的检查
if ($this->user_info['permission']['visit_explore'] AND $this->user_info['permission']['visit_site'])
{
$rule_action['actions'][] = 'index';
}
return $rule_action;
}
~~~
这里定义了访问页面的权限,` $rule_action['rule_type'] = "white"; `//'black'黑名单,黑名单中的检查 'white'白名单,白名单以外的检查 设置rule_type为white的时候,在`$rule_action['actions']`里的方法可以在不登陆的时候就能访问,以外的方法,则需要登陆才能访问。
设置rule_type为black的时候,在`$rule_action['actions']`里的方法可以在登陆的时候才能访问,以外的方法,则直接可以访问。
- 快速开始
- 系统介绍
- 下载源码
- 入口文件
- MVC模式
- 控制器
- 基础
- 安装
- 开发规范
- 目录结构
- 配置
- 配置格式
- 配置加载
- 读取配置
- 动态配置
- 架构
- 架构总览
- 控制器
- 模型
- 视图
- 插件开发
- 数据库
- aws_active_data(邮箱验证以及找回密码记录表)
- aws_answer (回答)
- aws_answer_comments (回答评论表)
- aws_answer_thanks (回答感谢表)
- aws_answer_uninterested (回答没有帮助表)
- aws_answer_vote(回答点赞、反对表)
- aws_approval (审核用户发布内容表)
- aws_article(文章表)
- aws_article_comments(文章评论表)
- aws_article_vote(文章和文章评论点赞记录表)
- aws_attach(附件表)
- aws_category(分类表)
- aws_draft(各种草稿的数据表)
- aws_edm_task(邮件群发管理表)
- aws_edm_taskdata(edm任务邮件列表)
- aws_edm_unsubscription(edm退订邮件订阅表)
- aws_edm_userdata(edm群发邮件,用户邮件表)
- aws_edm_usergroup(edm邮件用户群组表)
- aws_education_experience(教育经历)
- aws_favorite(用户收藏表)
- aws_favorite_tag(收藏tag表)
- aws_feature(专题表)
- aws_feature_topic(专题相关话题)
- aws_geo_location(用于附近的人以及附件问题的经度纬度记录表)
- aws_help_chapter(帮助表)
- aws_inbox(私信表)
- aws_inbox_dialog(私信详细记录表)
- aws_integral_log(用户积分操作记录表)
- aws_invitation(用户邀请注册表)
- aws_jobs(职位表)
- aws_mail_queue(发送邮件排队表)
- aws_nav_menu(导航栏表)
- aws_notification (系统通知)
- aws_notification_data(系统通知数据表)
- aws_pages(单页面表)
- aws_payment(支付表)
- aws_posts_index(首页推荐表)
- aws_product_order(众筹产品支付表)
- aws_project(众筹表)
- aws_project_like(众筹喜欢表)
- aws_project_product(众筹产品表)
- aws_question(问题列表)
- aws_question_comments(问题评论表)
- aws_question_focus(问题关注表)
- aws_question_invite(邀请问答)
- aws_question_thanks(问题感谢表)
- aws_question_uninterested(问题不感兴趣表)
- aws_received_email(已导入邮件列表)
- aws_receiving_email_config(邮件账号列表)
- aws_redirect(重定向表)
- aws_related_links(相关链接)
- aws_related_topic(相关话题)
- aws_report(用户举报表)
- aws_reputation_category(文章威望记录表)
- aws_reputation_topic(话题威望表)
- aws_school(学校)
- aws_search_cache(搜索缓存表)
- aws_sessions(session表)
- aws_system_setting(系统设置)
- aws_ticket(工单表)
- aws_ticket_invite(工单邀请表)
- aws_ticket_log(工单记录表)
- aws_ticket_reply(工单回复表)
- aws_topic(话题)
- aws_topic_focus(话题关注表)
- aws_topic_merge(话题合并表)
- aws_topic_relation(话题相关问题或者文章表)
- aws_user_action_history(用户操作记录)
- aws_user_action_history_data(用户操作内容记录表)
- aws_user_action_history_fresh(用户刷新记录表)
- aws_user_follow(用户关注表)
- aws_users(用户表)
- aws_users_attrib(用户附加属性表)
- aws_users_facebook (facebook表)
- aws_users_google (用户谷歌表)
- aws_users_group(用户组)
- aws_users_notification_setting(通知设定)
- aws_users_online(在线用户列表)
- aws_users_qq(qq登录用户表)
- aws_users_sina(微博登录表)
- aws_users_twitter (twitter登录)
- aws_users_ucenter(ucenter登录表)
- aws_users_weixin(微信登录表)
- aws_verify_apply (认证申请表)
- aws_weibo_msg(新浪微博消息列表)
- aws_weixin_accounts (微信多账号设置)
- aws_weixin_login (WeCenter 自己的微信登录体系表 )
- aws_weixin_message (用户给公众号发送的消息)
- aws_weixin_msg (微信群发列表)
- aws_weixin_qr_code(微信二维码)
- aws_weixin_reply_rule (微信自定义回复表)
- aws_weixin_third_party_api (微信第三方接入)
- aws_work_experience (工作经历)
- 常见问题
- 安装和设置
- 前台手册
- 后台手册
- 附录
- 系统函数
- 开发范例
- 更新日志