Cómo construir un entorno de aprendizaje y desarrollo Thinkphp
Vaya al sitio web oficial para descargar ThinkPHP y seleccione la versión completa de ThinkPHP3.1.3 aquí. El directorio descomprimido es
Coloque el paquete de software en el directorio web, por lo que debemos crear una carpeta vacía hlm en el directorio htdocs del software del servidor php xampp (el nombre del proyecto es arbitrario) y luego en este archivo Cree una nueva carpeta ThinkPHP debajo de la carpeta y coloque todos los archivos en el directorio en ThinkPHP. Luego cree una nueva carpeta Pública para almacenar los archivos públicos ***
del proyecto, como archivos JS y CSS. Luego cree una nueva carpeta de proyecto (home) como directorio principal del proyecto.
Construir un proyecto local
Crear un nuevo archivo index.php en el directorio del proyecto
lt;?php
//definir el nombre del proyecto
define('APP_NAME', 'home');
Definir la ruta del proyecto
define ('APP_PATH', './home/');
// Habilita el modo de depuración
define('APP_DEBUG', true
p>
//Carga el archivo de entrada del framework
require'./ThinkPHP/ThinkPHP.php'; gt;
Abre el servidor apache y visita la URL localhost://hlm, verá la siguiente interfaz
En este momento, el sitio web generará automáticamente un directorio, como se muestra en la siguiente figura:
Configuración de enrutamiento
El directorio utilizado actualmente es Action en Lib Directory, que es similar al Action del marco Struts de Java, y el directorio de plantillas Tpl, que almacena archivos html y se usa con el motor de plantillas para la visualización frontal. (Al crear el entorno, las personas con experiencia en el desarrollo del motor de plantillas Smarty y el uso del marco MVC pueden ser más útiles para comprenderlo). Luego cree un nuevo AccountAction.class.php en la carpeta Acción a continuación. Reglas de nomenclatura: nombre del módulo class.php
lt;?php
clase AccountAction extiende Action
{
función pública login() {
$this-gt;display('login');
}
}
Coloque el archivo login.html en Se muestra en el directorio Tpl.
Al acceder a localhost/index.php/hlm/Account/login se saltará a la página login.html
Esto se debe a que ThinkPHP usa el modo Pathinfo y el controlador (módulo)/acción usa un nuevo archivo creado por el servidor.htacess, agregue el siguiente contenido para reescribir la ruta. El requisito previo es eliminar la línea de comentarios de httpd.conf en el servidor apache
LoadModuleerewrite_module module/mod_rewrite.so
lt;IfModulemod_rewrite.cgt;
RewriteEngine está activado
¡¡RewriteCond {REQUEST_FILENAME}!!
¡¡RewriteCond {REQUEST_FILENAME}!!
RewriteRule ^(. *)$ index.php/$1 [QSA, PT, L]
lt;/IfModulegt;
Configure la regla de reescritura para hacer que la expresión regular ^(. *)$ coincide con cualquier carácter, =gt; index, php. Esto significa que la dirección real a la que se accede desde cualquier dirección será index.php y la página web no se mostrará en ella. Este método se usa a menudo para implementar pseudoestático, es decir, se revertirá y la página web. La dirección parecerá ser una dirección estática *.html, pero en realidad salta a otras direcciones.
La ventaja de la pseudoestática es que es compatible con la optimización de motores de búsqueda y es más fácil de encontrar para los motores de búsqueda.
Ahora podemos acceder a través de localhost/hlm/Account/login.
ThinkPHP también admite la función de enrutamiento. El significado de la función de enrutamiento también es muy simple: reescribir el enrutamiento y controlar el salto de página configurando la dirección mostrada y el salto real. La dirección es diferente. El lado izquierdo es la dirección de visualización y el lado derecho es la dirección de salto real. El método de configuración es agregar la siguiente declaración en el archivo config.php en la carpeta Conf.
lt;?php
return array(
//'Elementos de configuración' =gt; 'Valores de configuración'
'URL_ROUTE_RULES ' =gt; array(
'login$' =gt; 'Cuenta/iniciar sesión'
),); gt;
Ahora podemos usar Acceda a él desde la URL localhost/hlm/login
Agregue un signo $ al final para indicar una coincidencia no aproximada, lo que significa que login1 no cuenta como una coincidencia, solo si es exactamente igual.
Hasta donde yo sé, el beneficio de reescribir rutas es que puede simplificar el acceso a la URL del enlace.