ThinkPHP3.2.3 Adición de un nuevo proceso de módulo

Generar automáticamente los catálogos de módulo
A partir de la versión 3.2.2, puede apoyar la generación automática de catálogos de módulos distintos de los módulos por defecto y por lotes generación de controladores y las clases del modelo.
Por ejemplo, si necesitamos generar un módulo de administración para aplicaciones en segundo plano, defínalo de la siguiente manera en el archivo de entrada de la aplicación:

// Vincular el módulo Admin al archivo de entrada actual
define ('BIND_MODULE', 'Admin');
define ('APP_PATH', '. / Application /');
require './ ThinkPHP / ThinkPHP.php';

Luego visite la dirección URL

http: //serverName/index.php

Se generará el directorio del módulo Admin y se generará una clase de controlador predeterminada Admin \ Controller \ IndexController. Si necesita generar más clases de controlador, puede definir la constante BUILD_CONTROLLER_LIST, por ejemplo:

// Vincular el módulo Admin al archivo de entrada actual
define ('BIND_MODULE', 'Admin');
define ('BUILD_CONTROLLER_LIST', 'Index, User, Menu');
define ('APP_PATH', '. / Application /') ;
requiere './ ThinkPHP / ThinkPHP.php';

Se generarán automáticamente tres clases de controlador especificadas después del acceso:

Admin \ Controller \ IndexController
Admin \ Controller \ UserController
Admin \ Controller \ MenuController

Nota: Las clases de controlador generadas de forma predeterminada heredan Think \ Controller. Si necesita heredar otras clases públicas, debe ajustarlas por separado. Si APP_USE_NAMESPACE está desactivado en el archivo de configuración público de la aplicación, la clase de controlador generada no adoptará la definición del espacio de nombres.

También puede llamar manualmente al método de clase Think \ Build para generar la clase de controlador, por ejemplo:

// Genere la clase de controlador de roles del módulo Admin
// La biblioteca de clases predeterminada es Admin \ Controller \ RoleController
// Si ya existe, no se volverá a generar
\ Think \ Build :: buildController ('Admin', 'Role' );

De manera similar, también puede definir BUILD_MODEL_LIST para admitir la generación de múltiples clases de modelo:

// 绑定 Admin 模块 到 当前 入口 文件
define ('BIND_MODULE', 'Admin');
define ('BUILD_CONTROLLER_LIST', 'Índice, Usuario, Menú');
define ('BUILD_MODEL_LIST', 'Usuario, Menú');
define ('APP_PATH', '. / Aplicación /');
requiere './ThinkPHP/ThinkPHP.php';

Access generará automáticamente clases de modelo:

Admin \ Model \ UserModel
Admin \ Model \ MenuModel

Nota: Las clases de modelo generadas de forma predeterminada heredan Think \ Model. Si necesita heredar clases de modelo públicas, debe ajustarlas por separado. Si APP_USE_NAMESPACE está desactivado en el archivo de configuración público de la aplicación, la clase de modelo generada no adoptará la definición del espacio de nombres.

También puede llamar manualmente al método de clase Think \ Build para generar la clase modelo, por ejemplo:

// Genere la clase de modelo de rol del módulo Admin
// La biblioteca de clases predeterminada es Admin \ Model \ RoleModel
// Si ya existe, no se volverá a generar
\ Think \ Build :: buildModel ('Admin', 'Role' );

Bloquear el acceso a los módulos
3.2 El acceso al módulo se juzga automáticamente, por lo que normalmente se puede acceder a él sin configurar la lista de módulos, pero se puede configurar la lista de módulos prohibidos (solía ser llamado por otros módulos o no abiertos para el acceso). La configuración predeterminada es Prohibir el acceso al módulo común y al módulo de tiempo de ejecución (el directorio de tiempo de ejecución es el directorio de tiempo de ejecución predeterminado), podemos agregar otra lista de módulos de acceso prohibido:

// Establecer la lista de
módulos prohibidos 'MODULE_DENY_LIST' => array ('Common', 'Runtime', 'Api'),

Después de la configuración, no se puede acceder directamente al módulo Api a través de la URL. De hecho, podemos colocar algunos archivos de interfaz pública debajo del módulo, por lo que solo es necesario llamarlo internamente.

Configurar la lista de acceso
Si su aplicación tiene menos módulos, también puede configurar la lista de acceso permitido y el módulo predeterminado, lo que puede simplificar el acceso URL del módulo predeterminado.

'MODULE_ALLOW_LIST' => array ('Inicio', 'Admin', 'Usuario'),
'DEFAULT_MODULE' => 'Inicio',

Después de la configuración, no se puede acceder directamente a los módulos que no sean los de inicio, administrador y usuario, y el módulo de inicio es el módulo de acceso predeterminado (es posible que no aparezca en la dirección URL).

Supongo que te gusta

Origin blog.csdn.net/minihuabei/article/details/112471186
Recomendado
Clasificación