Controlador
Espejo Wang Yuyang
recomienda consultar la documentación oficial
Definición del controlador
Controlador (controlador), los archivos del controlador se almacenan en el app/controller
directorio, puede cambiar el directorio del controlador predeterminado a través de la config/route.php
configuración controller_layer
.
Crea un controlador Test.php
:app/controller/Test.php
namespace app\controller;
class Test
{
public function index()
{
return "控制器:Test.php";
}
}
Controlador de dos palabras (capital): HelloWorld, puede acceder al mismo efecto a través de dos estructuras de acceso
http://thinkphp6.0/index.php/helloworld http://thinkphp6.0/index.php/hello_world
Introducir sufijo de controlador
Para evitar la introducción de conflictos con las clases de modelo del mismo nombre, la route.php
configuración controller_suffix
es true
tal que todos los nombres de clase de controlador deben cambiarse TestController
, y el nombre del archivo también cambiaTestController.php
Renderizar salida
-
salida directa de retorno
La
return
salida de sintaxis directa se usa en Thinkphp -
Salida JSON: introduzca
json
funciones para generar datos de matriz$data = array ('a'=>1 , 'b'=>2 , 'c'=>3); return json($data);
-
Procesar salida de plantilla
return view();
Utilice la
halt
función auxiliar proporcionada por el sistema thinkphp para realizar la prueba de salida de interrupciónhalt('中断测试');
Controlador básico
Después de crear un archivo de controlador, obtenga app\BaseController
más métodos heredando la "clase de controlador básico" (archivo de aplicación predeterminado)
El controlador básico proporciona la función de verificación del controlador; inyectado thinkphp\app
, a la thinkphp\request
derecha, puede usar directamente la clase de controlador básico app
, request
llamada de propiedad thinkphp\app
, thinkphp\request
instancia de objeto
use app\BaseController;
class Test = extentds BaseController
{
public function index()
{
//返回当前方法名
return $this->request->action();
//返回实际路径
return $this->app->getBasePath();
}
}
Al mismo tiempo, la BaseController
clase contiene la función de verificación del controlador, la verificación por lotes y el initialize
método de inicialización.
Controlador vacío
La definición de controlador vacío significa que cuando el sistema no puede encontrar el nombre del controlador especificado, el sistema intentará localizar la Error
clase de controlador vacío en la aplicación ; este mecanismo se utiliza para personalizar páginas de error y optimización de URL
class Error
{
public function index()
{
return "当前访问控制器不存在"
}
}
Controlador de varios niveles
Definición: controller
Cree un directorio y cree un controlador en el directorio del controlador ; cree un app\controller\group\Blog.php
directorio y un archivo (controlador)
class Blog
{
public function index()
{
return 'index';
}
public function read()
{
return 'read';
}
}
Acceso URL:http://thinkphp/group.blog/read
Esto es group.blog
accediendo al archivo de blog en el directorio del grupo en el directorio del controlador; este método también se puede repetir en múltiples niveles, como crear Klii.php en el directorio klii en el grupo para construir el group.klii.Klii
acceso.