视图和控制器,Thinkphp中的控制器类及模型控制器

作者:计算机知识

调控器里写操作,正是你付出的网址的各样机能,你供给把您获得了什么样数据进行解析,这个数量该怎么管理,该调用什么模型,是还是不是涉及增加和删除改查,怎么着增删改查,作者该再次来到哪些数据依旧该把什么管理好的多少输出到模板上。调节器在此地一定于八个调节者和实施者。
模型里写你的多少库表的字段验证等涉及到数据库操作的一文山会海措施,对应友善的数据库表写那多少个非凡的“三大活动”。

控 制 器:

后天大家就来创设几个调整器;

视图和控制器,Thinkphp中的控制器类及模型控制器的理解。  那篇文章向您提供ASP.NET MVC 模型,视图和决定的冲天大概浏览。换句话说,解释一下ASP.NET MVC中的 ‘M’, ‘V’, 和 ‘C’。


1.命名主意:新建贰个主页面包车型客车调控器

1 <?php
2 namespace appindexcontroller;
3 use thinkController;
4 
5 class Test extends Controller{
6     public function test()
7     {
8    }

  看完那篇文章现在,你应当就能够清楚ASP.NET MVC的不等部分是什么共同专门的工作的。并且你也应该力所能致知情ASP.NET MVC程序的架构与ASP.NET Web窗体程序或ASP程序有啥的比不上。

controller文件夹下新建八个文本,命名称为:MainController.class.php首字母都大写,称为驼峰命名法

eg:

<?php
  namespace HomeController;
  use ThinkController;
  class MainController extends Controller
  {
    public function XianShi()
    {
      echo "主页面显示";    
    }    
  }

浏览器地址:图片 1

运转结果:图片 2

 

 

 示例 ASP.NET MVC 应用程序

  用以成立ASP.NET MVC Web程序的暗许的 Visual Studio 模板富含贰个Infiniti轻易的事必躬亲程序,能够用来精通ASP.NET MVC Web程序的不等部分。大家在那几个科目里就动用那一个大概程序吗。

  运维Visual Studio 二零一零, 采用“文件”,“新建”(见图1),用MVC模板创立ASP.NET MVC程序。在“新建项目”对话框中,在“项目连串(P)”(Visual Basic 或然C#)中精选你喜欢的编制程序语言,并在“模板”下抉择 ASP.NET MVC Web Application 。点击“确定”按钮。

 图片 3
图1 新建项目对话框

  创设完新的 ASP.NET MVC 程序后, 出现Create Unit Test Project 对话框(见图2). 这些对话框会在减轻方案中为您创制三个独立的用来测量检验你的ASP.NET MVC程序的门类。选用选项 No, do not create a unit test project 并单击 OK 按钮。

 图片 4
图2 创设单元测量试验对话框

  ASP.NET MVC 程序创立实现。你会在消除方案财富管理器窗口中见到多少个文本夹和文书。特别是你会看到四个分别名叫Models,Views和Controllers的公文夹。望文生义,那多少个文本夹包括了得以实现模型,视图和调节器的文本。

  假让你举行Controllers文件夹,你会看出叁个名叫AccountController.cs和三个名字为HomeControllers.cs的文本。张开Views文件夹,拜望到四个分级名叫Account,Home和Shared的子文件夹。张开Home文件夹,会看出多少个分级名称叫About.aspx和Index.aspx的文书(见图3)。这个文件组成了富含暗中认可ASP.NET MVC模板的演示程序。

 图片 5
图3 解决方案能源管理器窗口

  采用“调节和测量试验”,“运维调节和测量试验”运转示例程序。也许按F5键也能够。

  首回运营 ASP.NET 程序时,会并发图4所示的对话框,提出你运营调节和测试。 点击“明确”按键程序就能够运作起来了。

 图片 6
图4 调节和测验未运营对话框

  运行ASP.NET MVC 程序时, Visual Studio 会在浏览器运营你的主次。示例程序包蕴2个页面:Index页和About页。程序第三遍运维时,出现Index页(见图5)。你能够点击程序右上方的美食做法链接导航到About页。

图片 7
图5 Index 页

  注意浏览器地址栏的ULacrosseL,当点击About菜单链接时,地址栏中的UMuranoL变为 /Home/About。

  关闭浏览器窗口回到 Visual Studio,你找不到路线Home/About的文书。这么些文件不设有,那怎么或然吗?

2. C()方法

 贰个UENCOREL不对等叁个页

  生成古板的ASP.NEW Web窗体程序或ASP程序时,七个U兰德奥迪Q3L对应贰个网页。假如向服务器贰个名称为SomePage.aspx的页面发起呼吁 ,那么磁盘里最棒存在那样三个名叫SomePage.aspx的页面。若是 SomePage.aspx 文件不设有,将会获得三个丑陋的 404 – Page Not Found 错误。

  相反,生成 ASP.NET MVC 程序时,在您输入浏览器地址的UEvoqueL和您要在程序里找的文件之间并未对应提到。在

  ASP.NET MVC 程序中, 三个U普拉多L并不对应磁盘上的页而是对应三个调控器action。

  在观念 ASP.NET 大概 ASP 程序中, 浏览器央求被映射到页面。相反,在 ASP.NET MVC 程序中, 浏览器乞请被映射到调节器action。 ASP.NET Web 窗体程序以内容为主导。 相反,ASP.NET MVC 程序以程序逻辑为主导。

C(名称) 得到配置变量(convertion.php config.php)音信 C(名称,值) 设置配置变量消息

 理解ASP.NET Routing

  浏览器诉求通过二个名称叫 ASP.NET Routing 的ASP.NET 框架脾性来获取调节器action的绚烂。 ASP.NET Routing 被 ASP.NET MVC 框架用来对传播调控器action的呼吁实行路由。

  ASP.NET Routing 用一个路由表来管理传入的呼吁。当web程序第三遍运转时那个路由表就能够被创建。 它是在 Global.asax 文件中被创立的。暗许的 MVC Global.asax 文件如代码1所示。

 代码1 – Global.asax

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
 
namespace MvcApplication1
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode,
    // visit http://go.microsoft.com/?LinkId=9394801
 
    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
 
            routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = "" // Parameter defaults
            );
        }
 
        protected void Application_Start()
        {
            RegisterRoutes(RouteTable.Routes);
        }
    }
}

  ASP.NET 程序第一遍运维时, Application_Start() 方法会被调用。 在代码 第11中学, 此方法调用 RegisterRoutes() 方法创建默许路由表。

  暗许路由表只满含一个路由。这一个私下认可的路由将盛传的呼吁分为三段(贰个U宝马X5L段便是八个斜杠间的任刘瑞芳西)。第一段映射到调控器名,第二段映射到action名,最终一段映射到二个传到action的名称为Id的参数。

  举例,考虑以下U安德拉L:

  /Product/Details/3

  那几个 U揽胜L 被深入分析为接近那样的3个参数:

  Controller = Product

  Action = Details

  Id = 3

  Global.asax 文件中定义的暗许路由满含具有八个参数的默许值。暗中同意的调整器是 Home, 暗中认可的 Action 是 Index, 暗许的 Id 是空字符串。心里想着那些私下认可值,思索一下上边包车型地铁U牧马人L是怎么分析的:

  /Employee

  这些 UEvoqueL 被分析成类似那样的多个参数:

  Controller = Employee

  Action = Index

  Id =

  最终,假诺您不输入任何U奥德赛L(举个例子,http://localhost)就开垦ASP.NET MVC 程序的话ULANDL就好像这么深入分析:

  Controller = Home

  Action = Index

  Id =

  那一个央求就被路由到HomeController类的 Index() action 中。

  2.1 读取配置:

public function XianShi()
{
  //echo "主页面显示";

  //读取配置,不区分大小写
  $model=C('URL_MODEL');
  echo $model;
}

运作结果为:1

 精晓调节器

  调控器肩负调整用户与MVC程序交互的点子。调节器包蕴了ASP.NET MVC程序的流动调查节逻辑。调整器决定当用户发送三个浏览器央浼时再次来到什么响应。调控器正是一个类(举例,贰个Visual Basic或然C#类)。样例 ASP.NET MVC 程序满含多少个位居Controllers文件夹中名字为 HomeController.cs 的调节器。 HomeController.cs 文件内容转发在代码 第22中学。

 代码 2 – HomeController.cs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
 
namespace MvcApplication1.Controllers
{
    [HandleError]
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            ViewData["Title"] = "Home Page";
            ViewData["Message"] = "Welcome to ASP.NET MVC!";
 
            return View();
        }
 
        public ActionResult About()
        {
            ViewData["Title"] = "About Page";
 
            return View();
        }
    }
}

  注意 HomeController 有七个章程,名为Index() 和About().。那多个措施对应由调控器暴光的三个action。 U奥德赛L /Home/Index 调用 HomeController.Index() 方法而U兰德MuranoL/ Home/ About 调用 HomeController.About() 方法。

  调整器中的任何国有艺术都被爆出为调整器action。对此你要极其当心。那代表大家如若通过访谈网络,在浏览器中输入准确的UQashqaiL,就可以调用调控器中的任何国有艺术。

本文由bwin必赢发布,转载请注明来源

关键词: 必赢棋牌官网 Thinkphp codes