介绍
关于MVC
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。
MVC的优势
- 耦合性
- 重用性
- 可维护性高
- 有利于软件的工程化
think PHP5 安装
开发环境介绍(需要满足以下条件)
- php >= 5.4.0
- PDO MbString CURLPHP Extension
- mysql >= 5.5
- Apache Nginx
Git方式安装框架
Composer方式安装框架
官网网址:http://www.phpcomposer.com
下载命令:$ composer create-project --prefer-dist topthink/think 目录名
Download官网安装
官网网址:http://www.thinkphp.cn
选择版本安装包下载后解压到项目目录即可
之后:设置项目根目录
TP5 目录和文件开发规范
- 目录以小写+下划线的方式命名;
- 类库函数文件名以.php结尾;
- 类的文件名均以命名空间定义,且命名空间和类库文件所在路径一致;
- 类文件采用驼峰 首字母大写 其余文件为小写+下划线命名;
- 类名与类文件名保持一致,采用驼峰命名 首字母大写;
- 类采用驼峰命名 首字母大写不需要添加后缀;
- 函数使用驼峰命名 首字符小写 如(getUserInfo);
- 属性名采用驼峰 首字母小写 如(tableName)'
- 以双下划线 ——开头的函数或者方法为魔术方法 如(——construct);
- 常量以大写字母和下划线命名 如(‘APP_PATH’);
- 配置参数以小写字母和下划线命名;
- 数据库的库 表和字段采用小写+下划线的命名方式 不能以下划线开头;
- 应用类库的命名空间应统一为 app(可以配置)如:namespace app\index\controller;
模块设计
5.0版本对于模块的功能做了灵活设计,默认采用多模块的构架,并且支持单一模式设计,所有模块的命名空间均以app作为根命名空间(可配置更改);即跟目下一个模块就是一个文件夹;
方便管理,通常定义app\admin 文件夹是后台的项目模块
app\home 文件夹是前台的项目模块
app\common 文件夹是前后台公共使用的部分
cmd到项目的跟控制器目录下使用命令创建控制器
<?php
namespace app\agent\controller;
use app\common\controller\Base;
class Index extends Base
{
// 根目录下agent进入模块首页
public function index()
{
return $this->view->fetch('index/index');
}
}
搜索+分页+带搜索条件
// 多条件搜索 显示页面
public function memberList()
{
//设定空数据查询条件
$arr = [];
//接收查询条件一
if ($account = Request::param('account')){
$arr[] = ['account','like',"%{$account}%"];
}
//查询 分页 带值搜索
$data=Users::where('upid',3)->where($arr)->paginate(3)->appends(Request::param());
$this->view->assign('count',$data->count());
$this->view->assign('data',$data);
return $this -> view -> fetch('user/member-list');
}
重定向
$this->redirect('路由地址',[变量列表],'后缀','域名开关');