Sugerimos encarecidamente nuestro marco para blogs personales, agencias de noticias y desarrollo de API REST.
Al igual que cualquier otro marco de PHP, comenzamos este proyecto basado en la arquitectura MVC con los servicios destacados como $Add->Loader , REST API , SharedLayouts , Middlewares y conceptos de seguridad predefinidos. ¡Todo en simplist es tan simple como instalarlo en su servidor!
Descárguelo de este repositorio:
composer create-project miladxandi/simplist
Recuerde que su versión de PHP debe estar superior a 7 y la dirección de solicitud local debe establecerse en:
public_html/
Después de eso, ¡debe establecer el nombre de usuario y la tabla de su base de datos! En un proyecto local para el primer uso, estos valores deberían ser así:
Tabla: simplist_simplist
Nombre de usuario: raíz
Contraseña: vacía (sin valor o una cadena vacía)
Puede cambiar estos valores yendo a la capa de modelado y cambiarlos en conexión.phtml en la carpeta de núcleo/configuraciones, o vaya a esta dirección:
Core/Configurations/Connection.phtml
Nota: Hay un archivo de tabla SQL en la carpeta "Recursos" que puede importarlo fácilmente a su base de datos MySQL local o en línea
Hasta que trabaje en un directorio de trabajo local, el protocolo HTTPS se desactiva, pero si desea cargarlo en su servidor, el protocolo HTTPS se puede activar haciendo que el "SecureProtocol" true en la carpeta central, en la carpeta de configuraciones puede encontrar un archivo de enrutamiento o ir a esta dirección:
Core/Configurations/Routing.phtml
Puede cambiar el $SecureProtocol = false; a $SecureProtocol = true;
Está completamente instalado y listo para su uso.
Para definir sus propias rutas, vaya a esta dirección:
Ruta/configuración/rutas.phtml
Solo hay un regresador de matriz que devuelve la URL como una clave de matriz y configuraciones como sus valores. Cada nueva ruta debe crear exactamente a partir de esta plantilla:
'/aboutus' => [
'target'=>'Main.Home.Aboutus',
'get'=> true,
'post'=> false,
'middleware'=>'Main.Home.Aboutus'
'important'=>false
],
Permítanme describirlo en línea por línea:
'/aboutus'
Esta es una dirección web que procesará la dirección solicitada por controladores y mediosidad y es la clave de una matriz. Nota: Nuestro sistema de enrutador no es sensible a las minas, pero debe definir las rutas minúsculas.
'target'=>'Main.Home.Aboutus'
Significa que el controlador de destino es "Homecontroller" en la carpeta "principal" de la carpeta de controladores y después de solicitar este método de dirección "Aboutus" se llamará como escribió al final del controlador
'target'=>'Main.Home.Aboutus'. También puede procesar en unaQuerry Stringobteniéndola, en sus parámetros de función. También puede hacer alguna solicitud a la base de datos en archivos de controlador. LaQuerry Stringdada o los valores de la base de datos deben insertarse en una matriz con el nombre de$Viewbag. Puede enviarlos a su página web mediante este código:View::Process("Main.Home.Post",$Viewbag);Ahora es accesible desde el archivo "Ver" solicitado en "public_html/View/...". En lugar de escribir sus códigos lógicos en los controladores, le recomendamos que los coloque en la carpeta "lógica" en la carpeta del modelo. Hay algunos excelentes contratos en esta carpeta para ayudarlo a desarrollar su negocio mejor que nunca.
Nota: Los controladores y los artículos intermedios tienen que crear con exactamente Controller.phtml o Middleware.phtml extensiones, pero deben escribirse aquí sin estas extensiones. Por ejemplo, tenemos "homecontroller", pero podemos acceder a él escribiendo solo su nombre sin la palabra "controlador": "Inicio"
'get'=> true o 'post'=> false
Estos son los métodos de solicitud del servidor general que podemos definir aquí. Si desea negar alguna solicitud de publicación, solo necesita cambiar el valor
postafalse. Luego, puede ver que cada solicitud con el método de solicitudPOSTle mostrará un error de "método de solicitud no permitido".
'middleware'=>'Main.Home.Aboutus'
Cuando no hubo conflicto con la URL solicitada y su método de solicitud definido, antes de iniciar controladores, tenemos algunos middleware para hacer algunas validaciones. Puede usarse para verificar las cookies de seguridad o las opciones de idioma del sitio web, etc. Cada middleware debe devolver
trueen su clave de "estado" para aprobar su examen. MiddleWares también puede procesarse en unaQuerry Stringobteniéndola, en sus parámetros de función. Al igual que los controladores, necesitamos su nombre puro sin la palabra "middleware".
'important'=>false
Como lee antes, nuestro sistema no es sensible a mayúsculas y minúsculas, pero a veces necesita procesar en una URL sensible a la caja para validar algunos tokens y datos confidenciales o cualquier otra razón. Puede cambiar esta regla de nuestro sistema de enrutamiento usando
'important'=>trueo apagarla por'important'=>false. Nota: No se requiere esta clave en la matriz de enrutamiento.
Para definir sus propias rutas, vaya a esta dirección:
Ruta/configuración/api.phtml
Solo hay un regresador de matriz que devuelve la URL como una clave de matriz y configuraciones como sus valores. Cada nueva ruta debe crear exactamente a partir de esta plantilla:
'/api' => [
'target' => 'Api.Home.Index',
'allowed'=> 'get',
'blocked'=> 'DELETE',
'middleware'=>'Main.Home.Index',
'important'=>false
]
Permítanme describirlo en línea por línea:
'/api'
Esta es una dirección web para llamar a la API y procesará el servicio solicitado por controladores y mediosidad y es la clave de una matriz. Nota: Nuestro sistema de enrutador no es sensible a las minas, pero debe definir las rutas minúsculas.
'target' => 'Api.Home.Index'
Significa que el controlador de destino es "Homecontroller" en la carpeta "API" de la carpeta de controladores y después de solicitar este método de "índice" se llamará como escribió al final del controlador
'target' => 'Api.Home.Index'. También puede procesar en unaQuerry Stringobteniéndola, en sus parámetros de función. También puede hacer alguna solicitud a la base de datos en archivos de controlador. En lugar de escribir sus códigos lógicos en los controladores, le recomendamos que los coloque en la carpeta "lógica" en la carpeta del modelo. Hay algunos excelentes contratos en esta carpeta para ayudarlo a desarrollar su negocio mejor que nunca.
Nota: Los controladores y los artículos intermedios tienen que crear con exactamente Controller.phtml o Middleware.phtml extensiones, pero deben escribirse aquí sin estas extensiones. Por ejemplo, tenemos "homecontroller", pero podemos acceder a él escribiendo solo su nombre sin la palabra "controlador": "Inicio"
'allowed'=> 'get' o 'blocked'=> 'DELETE'
Si desea dejar que su aplicación funcione cualquier verbo HTTP, puede definirlo aquí y separarlos con una coma para dejar que su API use estos métodos. Por ejemplo, queremos que nuestra aplicación interactúe con nuestro servidor con los métodos
POSTyGET; Así que tenemos que definirlos a los dos aquí así:
'allowed'=> 'get,post'
Entonces queremos restringir algunos verbos HTTP de la solicitud a nuestro servidor, necesitamos escribirlos en la parte
blockedde esta sección:
'blocked'=> 'DELETE'
Podemos escribir tantos verbos que queremos en estas secciones.
'middleware'=>'Main.Home.Aboutus'
Cuando no hubo conflicto con la URL solicitada y su método de solicitud definido, antes de iniciar controladores, tenemos algunos middleware para hacer algunas validaciones. Puede usarse para verificar las cookies de seguridad o las opciones de idioma del sitio web, etc. Cada middleware debe devolver
trueen su clave de "estado" para aprobar su examen. MiddleWares también puede procesarse en unaQuerry Stringobteniéndola, en sus parámetros de función. Al igual que los controladores, necesitamos su nombre puro sin la palabra "middleware".
'important'=>false
Como lee antes, nuestro sistema no es sensible a mayúsculas y minúsculas, pero a veces necesita procesar en una URL sensible a la caja para validar algunos tokens y datos confidenciales o cualquier otra razón. Puede cambiar esta regla de nuestro sistema de enrutamiento usando
'important'=>trueo apagarla por'important'=>false. Nota: No se requiere esta clave en la matriz de enrutamiento.
La Biblioteca oLoad es un servicio simplista y definida para ayudar a que su sección head HTML esté más limpia. Si necesita usar esta biblioteca, debe usar este código en su archivo de vista al principio:
<?php $Add = new CoreRequirementoLoad("../../..","Style/Main","Script/Main","Content/Main"); ?>
En este código, puede definir diferentes ubicaciones para su JS, CSS, imágenes, etc., ya que le permitimos personalizar su aplicación, el ../../.. le mostrará la raíz predeterminada de estos contenidos, pero puede cambiarla en cada página que la cree.
Este código puede importar bibliotecas o imágenes JS o CSS externos.
Además, puede agregar tipos únicos de archivos a su proyecto.
Este es un código completo para mostrar cómo puede mostrar una imagen en su HTML:
<?php $Add->Loader("png","eastCloud","Shared",true,false,"eastCloud",24,24,"Style","Class"); ?>
Este código significa:
<?php $Add->Loader(Extension: "png",Name: "eastCloud",UniqueUrl: "Shared",Local: true,UniqueType: false,ImageAlt: "eastCloud",ImageWidth: 24,ImageHeight: 24,ImageStyle: "Style",ImageClass: "Class"); ?>
Y creará una etiqueta completa <img> en cualquier lugar que use.
Puede agregar bibliotecas JS y CSS como esta; Pero excepto todo después del argumento Local en ese método y sus propias extensiones como esta:
<?php $Add->Loader("css","Style",null,true); ?>
<?php $Add->Loader("js","Script",null,true); ?>
El argumento UniqueUrl le permite definir bibliotecas o imágenes internas o externas. Si no hay necesidad de definir UniqueUrl , simplemente deje una cita doble vacía ( "" ) o pase nulo como argumento. Es nulo por defecto.
El argumento Local significa que la biblioteca o imagen es un archivo local o no, el sistema usará la raíz predeterminada con el argumento dado para encontrar ese archivo si el Local era true .
El argumento UniqueType debe ser true si la extensión fuera todo excepto JS, CSS, PNG, JPEG, JPG e ICO. Es false por defecto.
La extensión js creará Complete <script src="../../../Script/Main/main.js"></script> código a todas partes donde lo llame. La extensión css creará <link rel="stylesheet" type="text/css" href="../../../Style/Shared/File.css"> código a todas partes donde lo llame.
SharedLayouts es el nombre de un servicio simplista que se encuentra en la carpeta compartida en la carpeta View ( public_html/View/Shared ).
Contiene 2 carpetas y un archivo .phtml con el nombre de "diseños" de forma predeterminada. El archivo de diseños puede contener una o más clases para cada parte del proyecto. Por ejemplo, hay una clase como esta:
class MainLayouts { public static function _Header() { include "Main/_HeaderLayout.phtml"; } public static function _Menu() { include "Main/_MenuLayout.phtml"; } public static function _Footer() { include "Main/_FooterLayout.phtml"; } }
Incluye algunos métodos para cargar algunos otros archivos de vista como encabezado, menú y pie de página. No hay un concepto complejo.
Ponemos algunos archivos de marca con extensiones ".md" como nuestros archivos de guía detallados. Sugerimos encarecidamente que descargue e instale un espectador Mark Down para su brower para ver estos archivos con una mejor experiencia.