Simple es un proyecto que reúne un conjunto de paquetes para trabajar con PHP de manera rápida y mínima. ¡Menos es más!
Para comenzar a usar el simple, puede usar el comando:
$ composer create-project phpzm/simpleso hacer una copia del Repositorio White Master
$ git clone https://github.com/phpzm/simples.git < dir >
$ cd < dir >
$ rm .git
$ composer installA estas alturas ya ha descargado una arquitectura básica, y debe configurar algunos detalles para salir utilizando características básicas felices para un sitio web o sistema de PHP.
Las dos configuraciones que están disponibles como base que mencionaremos a continuación se dirigen a la misma URL: http://localhost:8080 Antes de comenzar cualquiera de los modos del servidor, haga una copia del archivo de ejemplo .env que está disponible con el proyecto
$ composer run env:initCrea una copia del archivo de ejemplo que está disponible junto con el proyecto
$ composer run docker:initA continuación, puede usar el comando que se usa para ejecutar los contenedores o usar
$ composer run docker:serve --timeout=0Para usar el servidor de desarrollo que viene con PHP, use los comandos a continuación
$ composer run php:serve --timeout=0 Todo salió bien, al acceder a la URL http://localhost:8080 ya verá nuestra página de presentación predeterminada
De acuerdo, la URL que debería funcionar está bien, pero hagamos una visión general de lo que sucedió para que ella se ejecutara.
En esta carpeta encontrará el único punto de entrada para las solicitudes que tendrá su solicitud. Al abrir el archivo index.php que tiene dentro, encontramos la primera interacción con los archivos simples. Además del archivo PHP, también hay archivos que generalmente llamamos assets . Son las imágenes, los archivos de estilo y las características utilizadas para mejorar la visualización de los recursos de la aplicación. Esta carpeta se utilizará para dejar documentos expuestos a los que cualquier persona pueda acceder.
Este directorio contiene una lista de archivos PHP que se utilizan para configurar los comportamientos de la aplicación. Al echar un vistazo a estos archivos, verá que hay una función llamada env que se usa para definir algunas propiedades. Esta función recupera los valores definidos en el .env .
Finalmente llegamos donde ocurre la fiesta. Simples viene con la configuración correcta para usar este directorio para consultar los documentos que creará. Como puede hacer mucho, dividimos todo en partes.
Aloja los documentos relacionados con la composición de los recursos indirectamente. Inicialmente se configura con 3 directorios (correo electrónico, locales, vista), pero puede cultivarlo cómodo. Puede ver en el archivo config/app.php una instrucción de configuración similar a la a continuación. Según el ejemplo, podemos usar Helper config('app.resources.root') para que se devolverá el valor de app/resources y así es como se ubica las características que utiliza.
[config/app.php]
<?php
( . . . )
' resources ' => [
' root ' => ' app/resources ' ,
]
(...) Veremos más sobre esta parte de las views y su uso de la sección de plantilla.
Esta es una ruta sugerida para usar rutas. Se describe en config/route.php donde puede ingresar una matriz de archivos que se inicializará para componer las rutas de la aplicación.
[config/route.php]
<?php
( . . . )
' files ' => [
' app/routes/index.php '
]
(...) Por lo tanto, cuando se envía una solicitud HTTP a public/index.php comenzará a buscar rutas en el archivo app/routes/index.php . Más tarde, en la sección de creación de rutas, veremos cómo crear rutas de manera organizada utilizando lo simple.
Esta carpeta está directamente relacionada con el Composer autoloader a través de la configuración en composer.json
[composer.json]
(...)
"autoload": {
"psr-4": {
"App\": "app/src/"
}
}
(...)
Es decir, el NamePace estándar que usará es la App y el archivo debe estar dentro de la carpeta descrita anteriormente. Obviamente puedes modificar esto. Tenga en cuenta que con la convención PSR-4 cuando crea un documento con namespace adecuado puede usarlo de manera transparente. Entraremos en más detalles sobre esto en la sección de composición estructural.
Como una forma de indicar una ruta inicial, sugerimos esta carpeta llamada storage en la raíz del proyecto para mantener documentos que no puedan estar abiertos al acceso público.
La carpeta vendor es creada automáticamente por el Composer . Tiene las dependencias que utilizará su proyecto y la configuración de carga de archivos. Se configura de forma predeterminada en el archivo .gitignore para ser ignorado por Git
La configuración de la cual se llamará la primera ruta (o a la que se llamará las primeras rutas) es predeterminado dentro de app/config/route.php .
La configuración de acceso a recursos de la aplicación se puede hacer en los archivos de ruta. Los comandos se pueden escribir directamente en el archivo del archivo (donde una variable $ enrutador estará disponible por razones de alcance) o utilizando la devolución de cierres que reciben el enrutador $ como parámetro.
Rutas simples
return function ( $ router ) {
$ router -> on ( ' GET ' , ' / ' , function () {
return ' Hello World! ' ;
});
}Rutas dinámicas
return function ( $ router ) {
$ router -> get ( ' /:controller/:method ' , function ( $ controller , $ method ) {
return ' Hello World! ' ;
});
}Grupos de rotación
return function ( $ router ) {
// lista com arquivos de rota
$ router -> group ( ' GET ' , ' /site ' , [ ' more/files/routes.php ' , ' more/files/site.php ' ]);
// pasta que contém arquivos de rotas
$ router -> group ( ' * ' , ' /api ' , ' api/routes ' );
}Rutas con interacción con el controlador
return function ( $ router ) {
$ router -> post ( ' /client/save ' , ' NamespaceClientController@save ' );
$ router -> resource ( ' client ' , ' NamespaceClientController ' );
} Un $router->resource creará:
| Verbo | Camino | Acción | Nombre de ruta |
|---|---|---|---|
| Conseguir | /route | índice | Ruta.dex |
| Conseguir | /route/create | Crear | Ruta. Crear |
| Conseguir | /route/{id} | espectáculo | Ruta. |
| Conseguir | /route/{id}/edit | editar | Ruta.Edit |
| Correo | /route | estere | Ruta. |
| Poner/parche | /route/{id} | actualizar | Ruta. |
| Borrar | /route/{id} | destruir | Ruta. |