当前位置: 首页 > news >正文

站的免费网站创建网站无法播放视频

站的免费网站,创建网站无法播放视频,陕西建设集团招聘信息网站,北京seo百度推广ThinkPHP 支持传统的 MVC(Model-View-Controller)模式以及流行的 MVVM(Model-View-ViewModel)模式的应用开发,在请求流程中,控制器扮演着承上启下的核心角色 —— 它承接路由分发的请求,调度模型…

ThinkPHP 支持传统的 MVC(Model-View-Controller)模式以及流行的 MVVM(Model-View-ViewModel)模式的应用开发,在请求流程中,控制器扮演着承上启下的核心角色 —— 它承接路由分发的请求,调度模型进行数据处理,协调视图完成最终渲染,是业务逻辑处理的中枢枢纽。本篇文章将记录 ThinkPHP 控制器的学习过程。


一、控制器定义

按照ThinkPHP的架构设计,所有的URL请求(无论是否采用了路由),最终都会定位到控制器。控制器的层可能有很多,为了便于区分就把通过URL访问的控制器称之为访问控制器(通常意义上我们所说的控制器就是指访问控制器)。ThinkPHP 的控制器定义比较灵活,可以无需继承任何的基础类,也或者根据业务需求封装自己的基础控制器类。

控制器文件默认放在 app\controller 目录下面,类名和文件名保持大小写一致,并采用驼峰命名(首字母大写)。如果要更改控制器文件所在目录,需要在 config\route.php 配置文件中进行设置:

// 访问控制器层名称,可以更改为你需要的目录名称,默认为 controller
'controller_layer'    =>    'controller',

单应用模式控制器类的定义如下:

<?php
namespace app\controller;class UserController
{public function login(){return 'login';}
}

控制器类文件的实际位置为 app\controller\UserController.php

该类在没有定义路由的情况下也是可以访问的,访问的URL地址是:

http://servername/usercontroller/login
或者
http://servername/user_controller/login

可以看出,如果没有定义路由,访问的方式就是 类名/方法名

1、渲染输出

控制器的输出默认全部采用 return 的方式,无需进行任何的手动输出,系统会自动完成渲染内容的输出。

下面我们来看一些常见的输出方式:

<?php
namespace app\index\controller;class Index
{public function hello(){// 直接输出字符串内容return 'hello,world!';}public function json(){// 输出JSONreturn json($data);}public function read(){// 渲染默认模板输出return view();}
}

控制器一般不需要任何输出,直接 return 就可以了。并且控制器在 json 请求时会自动转换为 json 格式输出。

二、基础控制器

默认安装后,ThinkPHP为我们提供了一个 app\BaseController 基础控制器类,官方建议我们在定义自己的控制器类时继承该类。当然,我们也可以对该基础控制器类进行修改。

基础控制器的位置可以随意放置,只需要注意更改命名空间即可。

基础控制器仅仅提供了控制器验证功能,并注入了 think\Appthink\Request 对象,因此可以直接在控制器中使用 app 和 request 属性调用 think\App 和 think\Request 对象实例。

示例

namespace app\controller;use app\BaseController;class Index extends BaseController
{public function index(){// 继承 BaseController 后,就可以在方法中直接使用 app 和 request 属性$action = $this->request->action();$path = $this->app->getBasePath();}
}

三、空控制器

空控制器从名字上看,应该是什么都不做的控制器,但实际上不是这样的。空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位当前应用下的空控制器(Error)类,利用这个机制我们可以用来定制错误页面和进行URL的优化。与其叫做空控制器,倒不如说是404更合适。

示例

<?php
namespace app\controller;class Error 
{public function __call($method, $args){return 'error request!';}
}

四、资源控制器

资源控制器可以轻松创建 RESTFul 资源控制器,可以通过命令行生成需要的资源控制器,语法:

php think make:controller <资源控制器名称>

示例 创建 Blog 资源控制器

php think make:controller Blog

生成的资源控制器文件会自动放到 app\controller 目录下。

然后只需要为资源控制器注册一个资源路由:

Route::resource('blog', 'Blog');

设置后会自动注册7个路由规则,对应资源控制器的7个方法。

http://www.dtcms.com/a/588749.html

相关文章:

  • 上线了建站价格怎么查询网站开发公司
  • 网站开发费用说明网站内页301重定向怎么做
  • 网站建设意义和作用老域名怎么做新网站
  • 网站平台建设咨询合同锦州电脑网站建设
  • 中小型网站建设平台网站优化+山东
  • 网站建设在电子商务中的作用wordpress非常卡
  • 东西湖做网站视频创作用什么软件
  • 怎么建设代刷网站apple 官网
  • 如何使用wordpress搭建网站广州建设工程造价管理站
  • 厦门网站建设cnmxcm电子商务网站建设参考书
  • 谷城县城乡建设局网站北京市昌平建设工程招标网站
  • 在本地做装修在那个网站好wordpress手机评论
  • 买域名后怎么做网站北京简网生活圈科技有限公司
  • 网站建设平台分析如何做一元购网站
  • 软件设计师网站有哪些学习建网站
  • 智联招聘网站怎么做微招聘信息做外贸用哪些网站
  • 农业特色网站建设沙元浦做网站的公司
  • 做装修网站大连哪家公司做网站比较好
  • 昆明网站建设c3sales计算机培训机构一般多少钱
  • 北京小型网站建设wordpress手机端插件下载
  • 网站建设做网站多少钱我想建设网站
  • 上海网站建设专业公司建筑企业资质
  • 网站排名提升软件网站用的是什么语言
  • 推广网络河北seo网站优化价格
  • 个人网站建设方法小微企业名录查询系统
  • 阿里云备案网站服务内容怎么填网页设计素材怎么保存到文件夹
  • 国家级门户网站有哪些中国互联网企业100强
  • 企业网站开源网页界面设计代码
  • 珠宝类网站模板深圳网站建设 罗湖
  • 企业网站是否可以做淘宝客重庆高端网站seo