>php教程 >php手册 >CI(CodeIgniter)框架入门教程第二课 初始MVC

CI(CodeIgniter)框架入门教程第二课 初始MVC

WBOY
WBOY원래의
2016-06-13 09:41:32913검색

http://www.youarebug.com/forum.php?mod=viewthread&tid=105&page=1&extra=#pid142



本帖

 

 

CodeIgniterMVCMVC

 

CodeIgniterCI_02WelcomeindexCIMVCCIconfigroutes.php
<span $route</span>['default_controller'] = "welcome";

 

<span $route</span>['default_controller'] = "calculate";

 

 

<?php <span if</span> ( ! <span defined</span>('BASEPATH')) <span exit</span>('No direct script access allowed'<span );

</span><span /*</span><span 
 * 计算控制器,类名首字母必须大写,所有的控制器必须继承自CI_Controller类
 </span><span */</span>
<span class</span> Calculate <span extends</span><span  CI_Controller {
        </span><span //</span><span  构造方法</span>
        <span function</span><span  __construct() {
                parent</span>::<span __construct();
        }
        
        </span><span //</span><span  默认方法</span>
        <span function</span><span  index() {
                </span><span //</span><span  加载calculate_view视图</span>
                <span $this</span>->load->view('calculate_view'<span );
        }
}

</span><span /*</span><span  End of file calculate.php </span><span */</span>
<span /*</span><span  Location: ./application/controllers/calculate.php </span><span */</span>

 

CICI_ControllerPHP?>CI

 

viewsphpcalculate_view.php
<span <!</span><span DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span ></span>
<span <</span><span html </span><span xmlns</span><span ="http://www.w3.org/1999/xhtml"</span><span ></span>
<span <</span><span head</span><span ></span>
<span <</span><span meta </span><span http-equiv</span><span ="Content-Type"</span><span  content</span><span ="text/html; charset=utf-8"</span> <span /></span>
<span <</span><span title</span><span ></span>网页计算器<span </</span><span title</span><span ></span>
<span <</span><span style </span><span type</span><span ="text/css"</span><span ></span><span 
#calculators </span><span {</span><span 
        margin</span><span :</span><span  10% auto</span><span ;</span><span 
        width</span><span :</span><span 430px</span><span ;</span><span 
        border</span><span :</span><span 1px solid #000</span><span ;</span>
<span }</span>
<span </</span><span style</span><span ></span>
<span </</span><span head</span><span ></span>

<span <</span><span body</span><span ></span>
<span <</span><span div </span><span id</span><span ="calculators"</span><span ></span>
        <span <</span><span form </span><span action</span><span ="index.php/calculate/count"</span><span  method</span><span ="post"</span><span ></span>
                <span <</span><span input </span><span type</span><span ="text"</span><span  name</span><span ="num1"</span><span  id</span><span ="num1"</span> <span /></span>
                <span <</span><span select </span><span name</span><span ="operate"</span><span  id</span><span ="operate"</span><span ></span>
                        <span <</span><span option </span><span value</span><span ="+"</span><span ></span>+<span </</span><span option</span><span ></span>
                        <span <</span><span option </span><span value</span><span ="-"</span><span ></span>-<span </</span><span option</span><span ></span>
                        <span <</span><span option </span><span value</span><span ="x"</span><span ></span>x<span </</span><span option</span><span ></span>
                        <span <</span><span option </span><span value</span><span ="&divide;"</span><span ></span>&divide;<span </</span><span option</span><span ></span>
                <span </</span><span select</span><span ></span>
                <span <</span><span input </span><span type</span><span ="text"</span><span  name</span><span ="num2"</span><span  id</span><span ="num2"</span> <span /></span>
                <span <</span><span input </span><span type</span><span ="submit"</span><span  value</span><span ="计算"</span> <span /></span>
        <span </</span><span form</span><span ></span>
<span </</span><span div</span><span ></span>
<span </</span><span body</span><span ></span>
<span </</span><span html</span><span ></span>

 

<span function</span> <span count</span><span () {
        </span><span //</span><span  使用输入类接收参数</span>
        <span $num1</span> = <span $this</span>->input->post('num1'<span );
        </span><span $op</span> = <span $this</span>->input->post('operate'<span );
        </span><span $num2</span> = <span $this</span>->input->post('num2'<span );
        
        </span><span if</span> (<span is_numeric</span>(<span $num1</span>) && <span is_numeric</span>(<span $num2</span><span )) {
                </span><span //</span><span  如果两个数输入均为数字,则调用calculate_model模型下的count方法</span>
                <span $result</span> = <span $this</span>->calculate_model-><span count</span>(<span $num1</span>, <span $num2</span>, <span $op</span><span );
        }
}</span>

 

 

<span //</span><span  加载计算模型</span>
<span $this</span>->load->model('calculate_model');

<?<span php
</span><span /*</span><span *
 * 计算模型,类名首字母必须大写,所有的模型必须继承自CI_Model类
 </span><span */</span>
<span class</span> Calculate_model <span extends</span><span  CI_Model {
        
        </span><span function</span><span  __construct() {
                parent</span>::<span __construct();
        }
        
        </span><span /*</span><span 
         * 计算函数
         </span><span */</span>
        <span function</span> <span count</span>(<span $num1</span>, <span $num2</span>, <span $op</span><span ) {
                </span><span if</span> (<span $op</span> == "+"<span ) {
                        </span><span return</span> <span $num1</span> + <span $num2</span><span ;
                }</span><span else</span> <span if</span> (<span $op</span> == "-"<span ) {
                        </span><span return</span> <span $num1</span> - <span $num2</span><span ;
                }</span><span else</span> <span if</span> (<span $op</span> == "x"<span ) {
                        </span><span return</span> <span $num1</span> * <span $num2</span><span ;
                }</span><span else</span> <span if</span> (<span $op</span> == "&divide;" && <span $num2</span> != 0<span ) {
                        </span><span return</span> <span $num1</span> / 1.0 / <span $num2</span><span ; 
                }</span><span else</span><span  {
                        </span><span return</span> <span FALSE</span><span ;
                }
        }
}

</span><span /*</span><span  End of file calculate_model.php </span><span */</span>
<span /*</span><span  Location: ./application/models/calculate_model.php </span><span */</span>

 

<span <!</span><span DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span ></span>
<span <</span><span html </span><span xmlns</span><span ="http://www.w3.org/1999/xhtml"</span><span ></span>
<span <</span><span head</span><span ></span>
<span <</span><span meta </span><span http-equiv</span><span ="Content-Type"</span><span  content</span><span ="text/html; charset=utf-8"</span> <span /></span>
<span <</span><span title</span><span ></span>网页计算器<span </</span><span title</span><span ></span>
<span <</span><span style </span><span type</span><span ="text/css"</span><span ></span><span 
#calculators </span><span {</span><span 
        margin</span><span :</span><span  10% auto</span><span ;</span><span 
        width</span><span :</span><span 430px</span><span ;</span><span 
        border</span><span :</span><span 1px solid #000</span><span ;</span>
<span }</span>
<span </</span><span style</span><span ></span>
<span </</span><span head</span><span ></span>

<span <</span><span body</span><span ></span>
<span <</span><span div </span><span id</span><span ="calculators"</span><span ></span>
        <span <?</span><span php
        // 从控制器接收数据并对数据进行操作
        if (is_numeric($num1) && is_numeric($num2) && $op && $result && $result != FALSE) {
                echo $num1." ".$op." ".$num2." = ".$result."<br />";
        }else {
                echo "计算错误<br />";
        }
        </span><span ?></span>
        <span <</span><span a </span><span href</span><span ="/CI_02"</span><span ></span>返回首页<span </</span><span a</span><span ></span>
<span </</span><span div</span><span ></span>
<span </</span><span body</span><span ></span>
<span </</span><span html</span><span ></span>

 

 

<span $data</span> = <span array</span>('num1' => 1, 'num2' => 2, 'op' => +, 'result' => 3);

 

 

<span echo</span> <span $num1</span>." ".<span $op</span>." ".<span $num2</span>." = ".<span $result</span>."<br />";

 

 

<span function</span> <span count</span><span () {
        </span><span //</span><span  使用输入类接收参数</span>
        <span $num1</span> = <span $this</span>->input->post('num1'<span );
        </span><span $op</span> = <span $this</span>->input->post('operate'<span );
        </span><span $num2</span> = <span $this</span>->input->post('num2'<span );
        
        </span><span if</span> (<span is_numeric</span>(<span $num1</span>) && <span is_numeric</span>(<span $num2</span><span )) {
                </span><span //</span><span  如果两个数输入均为数字,则调用calculate_model模型下的count方法</span>
                <span $result</span> = <span $this</span>->calculate_model-><span count</span>(<span $num1</span>, <span $num2</span>, <span $op</span><span );
                </span><span //</span><span  生成要传给视图的数据</span>
                <span $data</span> = <span array</span>('num1' => <span $num1</span>, 'num2' => <span $num2</span>, 'op' => <span $op</span>, 'result' => <span $result</span><span );
                </span><span //</span><span  加载视图</span>
                <span $this</span>->load->view('result_view', <span $data</span><span );
        }
}</span>

 

data MVCCI

 

CIMVCMVCURIajax   http://www.youarebug.com/forum.php?mod=viewthread&tid=105&page=1&extra=#pid142

 

 

 

 

 

 

 

 

 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Daject初探다음 기사:PHP magic_quotes_gpc