通过这个微型小框架,理解会了整个开发的思路

Original 2019-04-13 19:35:07 215
abstract:<?php /** * Created by PhpStorm. * Date: 2019/4/6 * Time: 18:36 */ namespace app\admin\controller; //管理员登陆和退出要用到session,需要开启 session_start(); use app\
<?php
/**
* Created by PhpStorm.
* Date: 2019/4/6
* Time: 18:36
*/

namespace app\admin\controller;
//管理员登陆和退出要用到session,需要开启
session_start();

use app\model\User;
use pig\core\Controller;
class Index extends Controller
{
   public  function __construct()
   {
       parent::__construct();
   }
   //用户信息列表
   public  function index()
   {

//       $rows = (new User())->select('user',['id','name','email','dept','art','create_time']);
//        print_r($rows);
       $rows = (new User())->select('user',[
           'id','name','email','dept','art','create_time'],[
               //搜索功能,搜索条件为空显示全部
//            'dept[~]'=> isset($_POST['dept']) ? $_POST['dept'] : null
           'art[~]'=> isset($_POST['art']) ? $_POST['art'] : null
       ]);
       return $this->view->render('admin::index/index',[
           'rows' =>$rows,
           'title' => '武林高手榜',//标题
           'loginUrl' => '/admin/index/login',//登陆
           'logoutUrl' => '/admin/index/logout', //退出
           'indexUrl' => '/admin/index/index',//首页
           'insUrl' => '/admin/index/insert',//添加
           'editUrl' => '/admin/index/edit',//更新
           'delUrl' => '/admin/index/delete',//删除

       ]);
   }
   
   //管理员登录
   public function login()
   {
       if ($_SERVER['REQUEST_METHOD'] == 'POST') {
           //验证用户
           $res = (new User())->get('admin', ['name','email','password'],[
               'AND' => [
                   'email' => $_POST['email'],
                   'password' => sha1($_POST['password']),
               ]
           ]);

           if(false === $res){
               echo "<script>alert('邮箱或密码不正确');location.href='/admin/index/index';</script>";
           } else {
               $_SESSION['name'] = $res['name'];
               echo "<script>alert('登陆成功');location.href='/admin/index/index';</script>";
           }
       }
   }

   //退出登陆
   public function logout(){
       session_destroy();
       echo "<script>alert('退出成功');location.href='/admin/index/index';</script>";
   }

   //添加数据:1.渲染出一个添加表单;2.执行添加操作
   public function insert(){
       //调用模板引擎view中的render方法,admin::index/insert:渲染模板admin中index下的insert方法
       return $this->view->render('admin::index/insert',[
           'title' => '添加记录',
           'url' => '/admin/index/add'  //insert模板中接收数据提交地址
       ]);
   }

   //执行添加操作
   public function add()
   {
       if ($_SERVER['REQUEST_METHOD'] == 'POST') {
           //执行添加操作
           (new User())->insert('user',[
               'name'=>$_POST['name'],
               'dept'=>$_POST['dept'],
               'email'=>$_POST['email'],
               'art'=>$_POST['art'],
               'create_time'=>time(),
           ]);
           echo "<script>alert('添加成功');location.href='/admin/index/index';</script>";
       }
   }

   //编辑操作:1.渲染编辑模板,获取编辑ID;2.执行操作
   public function edit($id='')
   {
       $row = (new User())->get('user',['id','name','dept','email','art'],['id'=>$id]);
       return $this->view->render('admin::index/edit',[
           'title'=>'更新用户信息',
           'url'=>'/admin/index/save',
           'row'=>$row,
       ]);
   }
   //执行编辑
   public function save($id)
   {
       if ($_SERVER['REQUEST_METHOD'] == 'POST') {
           //执行更新操作
           (new User())->update('user',[
               'name'=>$_POST['name'],
               'dept'=>$_POST['dept'],
               'email'=>$_POST['email'],
               'art'=>$_POST['art'],
           ],['id'=>$id]);
           echo "<script>alert('更新成功');location.href='/admin/index/index';</script>";
       }
   }

   //删除操作
   public function delete($id)
   {
       (new User())->delete('user',['id'=>$id]);
       echo "<script>alert('删除成功');location.href='/admin/index/index';</script>";
   }
}

通过本套课程的学习,明白了PHP开发的基本框架和思路,明天正式开启tp5.1的学习和实战,感谢老师的辛勤付出。

Correcting teacher:天蓬老师Correction time:2019-04-13 21:50:13
Teacher's summary:能理解这个小框架的基本思路, 对于理解与熟练运用现代主流开发框架, 非常有好处的. 自己学会手写框架,并不是为了去用它开发项目, 毕竟你的框架再好, 没有海量的用户也无法成为行业标准, 但掌握框架的运行流程, 仍很重要...

Release Notes

Popular Entries