ThinkPHP
快速生成模块admin
php think build --module admin //在cmd命令行tp框架有build的目录下,注意环境变量问题win10,win7用;(分号隔开)
生成数据模型链接数据库User(在目录tp框架下)
php think make:model User
模型model
class User extends Model
{
//5.1中模型不会自动获取主键名称,必须设置pk属性
protected $pk = 'id';
//设置当前模型对应的完整数据表名称
protected $table = 'think_user';
}
生成控制器controller
cmd命令行内:php think make:controller admin/UserController
生成application/admin/controller/UserController
---------------------------------------------------------------------------------------------------------------------------
操作路由
//放在路由的上面
//浏览器输入地址 模块 / 控制器 /方法
Route::rule('/user/create','admin/UserController/create');//用户添加
Route::rule('/user/save','admin/UserController/save');//用户保存数据
Route::rule('/user/index','admin/UserController/index');//用户列表页面
Route::rule('/user/delete/:id','admin/UserController/delete');//用户删除
Route::rule('/user/edit/:id','admin/UserController/edit');//用户修改
Route::rule('/user/update/:id','admin/UserController/update');//用户保存数据
//浏览器输入地址 模块 /控制器 /方法
Route::rule('/user/create','admin/UserController/create');//地址可以自定义
//路由到模板 网页路径 文件夹/文件名(省略扩展名)
Route::view('/admin','[email protected]/default');
---------------------------------------------------------------------------------------------------------------------------
控制器的增删改查
<?php
namespace app\admin\controller;
use think\Controller;
use think\Request;
//添加时用到(模型model 一个数据表一个模型)
use app\common\model\User;
use Db;
class UserController extends Controller
{
/**
* 显示资源列表
*
* @return \think\Response
*/
public function index()
{
// $users = User::select();//查询所有
$users = User::paginate(2);//每页显示的条数
$page_string = $users->render();
return view('user/index',['users' => $users,'page_string'=>$page_string]);
}
/**
* 显示创建资源表单页.
*
* @return \think\Response
*/
public function create()
{
//
return view('user/create');
}
/**
* 保存新建的资源
*
* @param \think\Request $request
* @return \think\Response
*/
public function save(Request $request)
{
//接收所有数据
$form_data = $request -> post();
//验证 用户名长度
$userlen = strlen($form_data['username']);
$user_str = $form_data['username'];
if($userlen < 2){
$this -> error('用户名不能小于2位','/user/create');
}
if(!preg_match('/^[A-Za-z0-9_]+$/u',$user_str)){
$this -> error('用户名应为数字字母下划线','/user/create');
};
//密码与确认密码一致 一致后MD5加密存储
if($form_data['password'] == $form_data['repass']){
$form_data['password'] == md5($form_data['repass']);
}else{
$this -> error('密码不一致','/user/create');
}
//手机号验证
$user_pho = $form_data['tel'];
if(!preg_match("/^1[345678]{1}\d{9}$/",$user_pho)){
$this -> error('手机号码格式不对','/user/create');
}
//以上是验证
//注册时间
$form_data['rtime'] = time();
//注册ip
$form_data['rip'] = ip2long($_SERVER['REMOTE_ADDR']);
//这个true是过滤添加时数据库里面没有的字段
try {
//执行添加
User::create($form_data,true);
} catch (Exception $e) {
//异常信息
$this -> error('用户添加失败','/user/create');
}
//用户添加成功
$this -> success('用户添加成功','/user/index');
}
/**
* 显示指定的资源
*
* @param int $id
* @return \think\Response
*/
public function read($id)
{
//
}
/**
* 显示编辑资源表单页.
*
* @param int $id
* @return \think\Response
*/
public function edit($id)
{
$users = User::get($id);
// dump($users);
return view('user/edit',['users' => $users]);
}
/**
* 保存更新的资源
*
* @param \think\Request $request
* @param int $id
* @return \think\Response
*/
public function update(Request $request, $id)
{
$form_data = $request -> post();
try {
User::update($form_data,['id'=>$id]);
} catch (Exception $e) {
return $this -> error('修改失败','/user/edit/'.$id);
}
return $this -> success('修改成功','/user/index');
}
/**
* 删除指定资源
*
* @param int $id
* @return \think\Response
*/
public function delete($id)
{
$row = User::destroy($id);
if ($row) {
$this -> success('删除成功','/user/index');
} else {
$this -> error('删除失败','/user/index');
}
}
}
---------------------------------------------------------------------------------------------------------------------------
模板方面{注意和数据库的字段名对应}
<!--公共部分-->
{block name="main"}
可替换的部分
{/block}
<!--其它页面-->
{extend name="common/default" /}<>
{block name="main"}
<form action="/user/update/{$users.id}" method="post" id="myform" name="myform" enctype="multipart/form-data">
<select name="qx" id="catid" class="required">
<option value="1"{if $users.qx == 1}selected{/if}>管理员</option>
<option value="2"{if $users.qx == 2}selected{/if}>普通用户</option>
<option value="3"{if $users.qx == 3}selected{/if}>普通管理员</option>
<option value="4"{if $users.qx == 4}selected{/if}>教师</option>
</select>
<input class="common-text required" id="title" name="username" size="50" value="{$users.username}" type="text" />
<label><input class="common-text required" id="title" name="sex" size="50" value="w" type="radio" {if $users.sex == 'm'}checked{/if}>男</label>
<label><input class="common-text required" id="title" name="sex" size="50" value="m" type="radio"{if $users.sex == 'w'}checked{/if}>女</label>
</form>
{/block}