• 代码编写逻辑(先伪代码,再带方法的逻辑,最后实现具体方法)(先控制器,再模型)


    代码编写逻辑(先伪代码,再带方法的逻辑,最后实现具体方法)(先控制器,再模型)

    一、总结

    一句话总结:先伪代码,再带方法的逻辑,最后实现具体方法。先控制器,再模型。

    1、如何实现书写代码逻辑?(这样会让编写代码超级简单)

    a、先伪代码
    45 //            if(数据库有此用户名){
    46 //                if(用户信息正确){
    47 //                    进入系统
    48 //                }else{
    49 //                    提示账户或密码错误
    50 //                }
    51 //            }else{
    52 //                注册用户
    53 //                登录用户
    54 //            }
    b、再带方法的逻辑
    55             $modelLogin=new ModelLogin();
    56             if(!$modelLogin->getUserInfo($dataIn)){
    57                 //登录
    58                 $this->login($dataIn);
    59             }else{
    60                 //注册
    61                 $this->signUp($dataIn);
    62             }
    c、最后实现具体方法
    69     //登录
    70     public function login($dataIn)
    71     {
    72         $modelLogin=new ModelLogin();
    73         if ($modelLogin->isUserInfoCorrect($dataIn)){
    74             $this->success('登录系统成功!!!','index/index');
    75         }
    76         else{
    77             $this->error("用户名或密码有误!!!");
    78         }
    79     }
    81     //注册
    82     public function signUp($dataIn){
    83         $modelLogin=new ModelLogin();
    84         $result=$modelLogin->signUpUser($dataIn);
    85         if ($result){
    86             $this->success('注册用户成功!!!','index/index');
    87         }else{
    88             $this->error("注册用户失败!!!");
    89         }
    90     }

    2、先伪代码,再带方法的逻辑,最后实现具体方法 这样规范化编写代码的好处是什么?

    降低难度

    节约时间

    不容易错

    快速修改

    便于复用

    代码清晰

    逻辑清晰

    便于修改

    二、代码编写逻辑,legend的登录控制器中代码

     1 <?php
     2 namespace appadmincontroller;
     3 
     4 use appadmincontrollerBase;
     5 use appadminmodelBase as ModelBase;
     6 use appadminmodelLogin as ModelLogin;
     7 
     8 class Login extends Base
     9 {
    10     protected $beforeActionList = [
    11         'assignSession',
    12         // 'second' =>  ['except'=>'hello'],
    13         // 'three'  =>  ['only'=>'hello,data'],
    14     ];
    15 
    16     //前置操作,分配s_now_page到session,可以知道现在访问的是哪个界面
    17     public function assignSession(){
    18         session('index_now_page',60);
    19     }
    20 
    21     //分配页面title,板块题目,面包屑导航等
    22     public function assignPageData(){
    23         $baseModel=new ModelBase();
    24         $moduleId=session('index_now_page');
    25         $modules=$baseModel->getAllParents($moduleId);
    26         $this->assign('modules',$modules);
    27         //把页面的父亲节点发过去
    28     }
    29 
    30 
    31     //主页
    32     public function index()
    33     {
    34         session('index_now_page',60);
    35         $this->assignPageData();
    36         /*****************************************算法说明*****************************************/
    37         /*
    38          * 1、主逻辑板块,调用登录和注册方法
    39          * 2、判断数据库里面有无此数据,有的话就登录进入系统,没有的话就注册登录进入
    40          * */
    41         /*****************************************改善板块*****************************************/
    42         /*****************************************输出数据到数据库板块*****************************************/
    43         if (request()->isPost()){
    44             $dataIn=input('post.');
    45 //            if(数据库有此用户名){
    46 //                if(用户信息正确){
    47 //                    进入系统
    48 //                }else{
    49 //                    提示账户或密码错误
    50 //                }
    51 //            }else{
    52 //                注册用户
    53 //                登录用户
    54 //            }
    55             $modelLogin=new ModelLogin();
    56             if(!$modelLogin->getUserInfo($dataIn)){
    57                 //登录
    58                 $this->login($dataIn);
    59             }else{
    60                 //注册
    61                 $this->signUp($dataIn);
    62             }
    63             //dump($dataIn);die;
    64         }
    65         /*****************************************输出数据到页面板块*****************************************/
    66         return view();
    67     }
    68 
    69     //登录
    70     public function login($dataIn)
    71     {
    72         $modelLogin=new ModelLogin();
    73         if ($modelLogin->isUserInfoCorrect($dataIn)){
    74             $this->success('登录系统成功!!!','index/index');
    75         }
    76         else{
    77             $this->error("用户名或密码有误!!!");
    78         }
    79     }
    80 
    81     //注册
    82     public function signUp($dataIn){
    83         $modelLogin=new ModelLogin();
    84         $result=$modelLogin->signUpUser($dataIn);
    85         if ($result){
    86             $this->success('注册用户成功!!!','index/index');
    87         }else{
    88             $this->error("注册用户失败!!!");
    89         }
    90     }
    91 }
     
     
  • 相关阅读:
    Linux部署之批量自动安装系统之NFS篇
    Linux部署之批量自动安装系统之DHCP篇
    solarwinds之网络发现
    solarwinds之数据库
    solarwind之安装
    DHCP服务器的搭建
    iSCSI服务器的搭建
    js强制限制输入允许两位小数
    html5中的Web Storage
    js点击复制
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9196928.html
Copyright © 2020-2023  润新知