用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3079|回复: 1
收起左侧

给予初学习控制器进阶代码很大帮助哦,高手请飘过....

[复制链接]
发表于 2014-1-16 19:17:38 | 显示全部楼层 |阅读模式
发现很多初学者如何用CI 写控制器
如何在一个控制器中控制多个页面的切换
如何在一个控制器里减少代码的复写
如何在一个控制器里使代码看起来简洁

简单的就一句:把常用的函数封装在一起方便调用
下面我就举个例:


                 function  index(){
                 $this->Tool();       //调用封装好的函数     
                 $this->views();
                 }
                 function  Tool(){
                 $this->load->helper("url");
                 $this->load->library('session');
                 }
                function views(){
                                                                        //http://localhost/index.php/index/login
                $id=$this->uri->segment(这里填你的参数数位);           //接收该函数的参数值赋给$id 用switch自动选择
                       switch(){
                            case  login :
                                             $this->yzlogin();
                                             echo  "我是登陆页面" ;   //比如要写  $this->load->view();  还不如改用函数更易修改代码   
                            case  reg :
                                            $this->yzreg();
                                            echo  "我是注册页面";    //比如要写  $this->load->view();    还不如改用函数更易修改代码   
                            ...............
                           default:                                          echo  "我是默认页面" ;     //比如要写 $this->load->view();  还不如改用函数更易修改代码  
                       }
                 }


                function yzlogin(){
                   $this->Tool();     //调用封装好的函数      
                    
               }
              function yzreg(){
                   .......
               }
////////////////////////////////////////////////////////////////////////////////////////////

我相信有很多新手刚刚开始学CI框架的时候大多数都会用到以下例子:

                     function  index(){
                    $this->load->helper("url");
                    $this->load->library('session');
                    $this->load->database();
                    $this->load->view('index');  
                     }
                    function reg(){
                    $this->load->helper("url");
                    $this->load->library('session');
                    $this->load->database();
                    $this->load->view('reg');     
                    }
                    function login(){
                    $this->load->helper("url");
                    $this->load->library('session');
                    $this->load->database();
                    $this->load->view('login');     
                    }

                这样看起来不觉得修改起来很乱的吗?  
                这复写代码的熟练数量大大的增加而加重修改代码的工作量!
                一般不懂MVC或使用CI 控制器如何写的初学者常常犯到的错误
                不好意思在于我刚刚才接触CI框架能力有限就写到这里了


                                                           本菜鸟还请各位大神多多指教
                                                          注意,如果此篇文章对你有很大的帮助请顶一贴. 否则无视.............
                 
发表于 2014-8-6 09:49:45 | 显示全部楼层
新手表示学习了,感谢

本版积分规则