Home Backend Development PHP Tutorial CI (CodeIgniter) framework introductory tutorial - Lesson 2 Initial MVC_PHP tutorial

CI (CodeIgniter) framework introductory tutorial - Lesson 2 Initial MVC_PHP tutorial

Jul 13, 2016 am 10:36 AM
aspnet software programming

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



CodeIgniterMVCMVC

CI (CodeIgniter) framework introductory tutorial - Lesson 2 Initial MVC_PHP tutorialCodeIgniterCI_02WelcomeindexCIMVCCIroutes.phpconfig
<span $route</span>['default_controller'] = "welcome";
Copy after login

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

< span php

<?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>
Copy after login

CICI_ControllerPHP?>CI

phpviewscalculate_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>
Copy after login

<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>
Copy after login

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

<?<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>
Copy after login
< span , the code is as follows:

<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>
Copy after login

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

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

<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>
Copy after login

 

data MVCCI

 

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

 

 

 

 

 

 

 

 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/738504.htmlTechArticlehttp://www.youarebug.com/forum.php?mod=viewthreadtid=105page=1extra=#pid142 CodeIgniter MVC MVC CodeIgniter CI_02 Welcome index CI MVC CI config routes.php ['default_controller'] =...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

The combination of Vue.js and ASP.NET provides tips and suggestions for performance optimization and expansion of web applications. The combination of Vue.js and ASP.NET provides tips and suggestions for performance optimization and expansion of web applications. Jul 29, 2023 pm 05:19 PM

The combination of Vue.js and ASP.NET provides tips and suggestions for performance optimization and expansion of web applications. With the rapid development of web applications, performance optimization has become an indispensable and important task for developers. As a popular front-end framework, Vue.js combined with ASP.NET can help us achieve better performance optimization and expansion. This article will introduce some tips and suggestions, and provide some code examples. 1. Reduce HTTP requests The number of HTTP requests directly affects the loading speed of web applications. pass

MySQL connection pool usage and optimization techniques in ASP.NET programs MySQL connection pool usage and optimization techniques in ASP.NET programs Jun 30, 2023 pm 11:54 PM

How to correctly use and optimize the MySQL connection pool in ASP.NET programs? Introduction: MySQL is a widely used database management system that features high performance, reliability, and ease of use. In ASP.NET development, using MySQL database for data storage is a common requirement. In order to improve the efficiency and performance of database connections, we need to correctly use and optimize the MySQL connection pool. This article will introduce how to correctly use and optimize the MySQL connection pool in ASP.NET programs.

Ten ways generative AI will change software development Ten ways generative AI will change software development Mar 11, 2024 pm 12:10 PM

Translator | Reviewed by Chen Jun | Chonglou In the 1990s, when people mentioned software programming, it usually meant choosing an editor, checking the code into the CVS or SVN code base, and then compiling the code into an executable file. Corresponding integrated development environments (IDEs) such as Eclipse and Visual Studio can integrate programming, development, documentation, construction, testing, deployment and other steps into a complete software development life cycle (SDLC), thus improving the work of developers. efficiency. In recent years, popular cloud computing and DevSecOps automation tools have improved developers' comprehensive capabilities, making it easier for more enterprises to develop, deploy and maintain software applications. Today, generative AI is the next generation development

How to reconnect to MySQL in ASP.NET program? How to reconnect to MySQL in ASP.NET program? Jun 29, 2023 pm 02:21 PM

How to reconnect to MySQL in ASP.NET program? In ASP.NET development, it is very common to use the MySQL database. However, due to network or database server reasons, the database connection may sometimes be interrupted or time out. In this case, in order to ensure the stability and reliability of the program, we need to re-establish the connection after the connection is disconnected. This article will introduce how to reconnect MySQL connections in ASP.NET programs. To reference the necessary namespaces first, reference them at the head of the code file

The combination of Vue.js and ASP.NET enables the development and deployment of enterprise-level applications The combination of Vue.js and ASP.NET enables the development and deployment of enterprise-level applications Jul 29, 2023 pm 02:37 PM

The combination of Vue.js and ASP.NET enables the development and deployment of enterprise-level applications. In today's rapidly developing Internet technology field, the development and deployment of enterprise-level applications has become more and more important. Vue.js and ASP.NET are two technologies widely used in front-end and back-end development. Combining them can bring many advantages to the development and deployment of enterprise-level applications. This article will introduce how to use Vue.js and ASP.NET to develop and deploy enterprise-level applications through code examples. First, we need to install

How to correctly configure and use MySQL connection pool in ASP.NET program? How to correctly configure and use MySQL connection pool in ASP.NET program? Jun 29, 2023 pm 12:56 PM

How to correctly configure and use MySQL connection pool in ASP.NET program? With the development of the Internet and the increase in data volume, the demand for database access and connections is also increasing. In order to improve the performance and stability of the database, connection pooling has become an essential technology. This article mainly introduces how to correctly configure and use the MySQL connection pool in ASP.NET programs to improve the efficiency and response speed of the database. 1. The concept and function of connection pooling. Connection pooling is a technology that reuses database connections. At the beginning of the program,

Recommended configuration for ASP.NET development using Visual Studio on Linux Recommended configuration for ASP.NET development using Visual Studio on Linux Jul 06, 2023 pm 08:45 PM

Overview of the recommended configuration for using Visual Studio for ASP.NET development on Linux: With the development of open source software and the popularity of the Linux operating system, more and more developers are beginning to develop ASP.NET on Linux. As a powerful development tool, Visual Studio has always occupied a dominant position on the Windows platform. This article will introduce how to configure VisualStudio for ASP.NE on Linux

What are the built-in objects in aspnet? What are the built-in objects in aspnet? Nov 21, 2023 pm 02:59 PM

The built-in objects in ASP.NET include "Request", "Response", "Session", "Server", "Application", "HttpContext", "Cache", "Trace", "Cookie" and "Server.MapPath": 1. Request, indicating the HTTP request issued by the client; 2. Response: indicating the HTTP response returned by the web server to the client, etc.

See all articles