第三天 ThinkPHP手把手快速拼接网站(三)
来源:互联网 发布:创维网络电视怎么放dvd 编辑:程序博客网 时间:2024/06/10 11:54
6月1日,小雨。“ 梅子金黄杏子肥,麦花雪白菜花稀。 日长篱落无人过,唯有蜻蜓蛱蝶飞。”
七、MVC模式
ThinkPHP的MVC开发机制如下:
M Model层 模型:就是数据库操作类(通过数据库操作类去操作各个表)。
V View层 视图:指模版。
C Controller层 控制器:就是通过控制器来实现模版,模型之间的控制关系。
MVC架构中,Controller是必须的,因为controller掌管着业务逻辑的控制权。通常的流程是:请求从入口文件进入,然后就经过路由匹配,最后把控制权交到相应的controller上,开始处理业务,model和view的调用都由controller的代码决定。换句话说,在Controller中可以不用Model和View,只是这样一来,就表示你的这个业务不与数据库交互(Model),也不产生任何表现性的输出(View)。
八、后台编写
1、 修改admin/Lib/Action/IndexAction.class.php,如下:
<?php// 本类由系统自动生成,仅供测试用途class IndexAction extends Action {public function index() {if (session ( '?username' )) {} else {$this->error ( '亲,您好,请先登录!', U ( '/Login/index/' ) );}}}
代码说明:
要判断一个session值是否已经设置,可以使用 session('?name'); 用于判断名称为name的session值是否已经设置 相当于: isset($_SESSION['name']);
U ( '/Login/index/' )的含义是找Login模块下的index方法。
2、编写admin\Lib\Action\LoginAction.class.php
<?phpclass LoginAction extends Action {function index() {// 配置页面显示内容$this->assign ( 'title', '后台管理系统' );$this->display ();}}
在Action中使用assign方法可以给模板变量赋值,那么使用内置的模板引擎输出变量,只需要在模版文件使用:{$title},模板编译后的结果就是<?php echo ($title); ?>,最后运行的时候就可以在标签位置显示ThinkPHP的输出结果。
注意模板标签的{和$之间不能有任何的空格,否则标签无效。
3、编写admin\Tpl\Login\index.html
直接把后台模板,admin-templates.rar里面的login.html里面的全部内容拷入。
前后台模板下载地址:http://download.csdn.net/detail/zwszws/8773601
把下载的前端模板里面文件夹css、images和scripts里面的文件全部分别放入public\Css\admin和\public\Images\admin以及\publicJs\admin里面.
修改index.html文件里的相关资源路径,如:
<link rel="stylesheet" href="__PUBLIC__/Css/admin/reset.css"
<script type="text/javascript" src="__PUBLIC__/Js/admin/jquery-1.3.2.min.js"></script>
<img id="logo" src="__PUBLIC__/Images/admin/logo.png" alt="Simpla Admin logo" />
4、再次访问:http://localhost/MyFirstThinkPHP_1/admin.php ,呵呵,后台登录页面出来了!
5、加个验证码
修改admin\Tpl\Login\index.html文件,加入
<p> <label>验证码</label> <input class="text-input" type="text" name="verify"/> <img src="__APP__/Common/verify" onclick="show(this)"/> </p> <script>function show(obj){obj.src="__APP__/Common/verify";}</script>编写admin\Lib\Action\CommonAction.class.php
<?phpclass CommonAction extends Action{function verify(){//导入验证码类import("ORG.Util.Image");/* * 参数1:验证码长度,默认4 * 参数2:类型,0为字母,1为数字,2为大写字母,3为小写字母,4为中文 * 参数3:图片类型,默认png格式,若服务器没有开PNG,就改成其他格式 * 参数4:图片宽度(根据长度自动计算) * 参数5:图片高度,默认22个像素 * 参数6:验证码保存在Session的名称 'verify' */ Image::buildImageVerify(4,1,'png',70,30);//静态方法}}?>4、再次访问:http://localhost/MyFirstThinkPHP_1/admin.php ,呵呵,验证码出来了!
- 第三天 ThinkPHP手把手快速拼接网站(三)
- 第五天 ThinkPHP手把手快速拼接网站(五)
- 第四天 ThinkPHP手把手快速拼接网站(四)
- 第六天 ThinkPHP手把手快速拼接网站(六)
- 第一天 信手拈来无意句-ThinkPHP手把手快速拼接网站(一)
- 第二天 天生韵味入千家-ThinkPHP手把手快速拼接网站(二)
- thinkphp学习_第三天
- 天津出差系列(三)----第三天
- thinkphp学习_第三天_2
- Python快速学习第三天
- 高程三第三天笔记
- ios学习第三天(三)封装继承多态
- 工作流引擎Activiti学习第三天(三)--- 基础知识学习
- 使用ThinkPHP框架快速搭建网站(通俗易懂)
- 第三天(Linux)
- 【android】手把手轻松集成微信支付
- 使用ThinkPHP框架快速开发网站(多图)
- 使用ThinkPHP框架快速搭建网站【转】
- 12c 用户密码已经过期,不修改密码的情况下使其永远使用下去
- RecyclerView 实例
- 【网络流】最大流最简单的Ford-Fulkerson算法
- 华为OJ之高级篇
- Linux笔记12-Shell基础
- 第三天 ThinkPHP手把手快速拼接网站(三)
- js for循环中的闭包
- WPF-常用布局容器
- URL中“#” “?” &“”号的作用
- 第四章t5
- 我应该使用哪种wsdl样式?
- 6.1微软苏州开放日小结
- 15第十三周项目三——立体类族共有的抽象类
- python第三方库系列之十七--multiprocessing库