Yaravel es un marco PHP MVC pequeño pero robusto que se puede utilizar tanto para representar HTML como como API. Cuenta con un sistema de solicitudes y enrutamiento, un motor de visualización con soporte para hojas de estilo y javascript, y un ORM llamado Helloquent para comunicación con bases de datos. Yaravel está diseñado para ser rápido, eficiente y flexible, lo que lo convierte en una opción ideal para los desarrolladores que buscan crear aplicaciones web con PHP.
Tweeter es una aplicación similar a Twitter creada utilizando una versión anterior de este marco que permite a los usuarios publicar mensajes cortos, conocidos como "tweets", e interactuar con otros a través de Me gusta y revisando sus tweets. La aplicación presenta una transmisión en tiempo real de los tweets recientes de los usuarios.
(compruébalo en vivo o en el repositorio de esta aplicación)
Las rutas de su aplicación se pueden registrar en la carpeta "/routes" . Las rutas API deben colocarse en el archivo "api.php" y las páginas web en el archivo "web.php" .
Para registrar una ruta web, utilice la función addRoute en el objeto del enrutador. La función toma los siguientes parámetros:
// $router->addRoute(path, controller path, action);
$ router -> addRoute ( " / " , DefaultController::class, " viewDefault " );
Consulte los ejemplos en "/routes/web.php" para obtener más información.
Para registrar una ruta API, utilice la función api en el objeto del enrutador. La función toma los siguientes parámetros:
// $router->addRoute(path, controller path, method);
$ router -> api ( " / " , DefaultController::class);
$ router -> api ( " / " , DefaultController::class, " post " );
Consulte los ejemplos en "/routes/api.php" para obtener más información.
El objeto $this->request se incluye dentro de los controladores y es una instancia de la clase HttpRequest . Contiene todos los datos de la solicitud. El objeto tiene varias propiedades, que incluyen:
La clase HttpResponse se utiliza para responder a llamadas API. Tiene una función estática llamada responder que tiene dos parámetros:
MVC (Modelo-Vista-Controlador) es un patrón de diseño de software que separa una aplicación en tres componentes principales.
El componente Modelo del marco es responsable de manejar los datos y la lógica empresarial, y de comunicarse con la base de datos. Esto se hace mediante el uso de Helloquent, una herramienta ORM creada específicamente para el marco. Para obtener más detalles, consulte la documentación de Helloquent en este enlace https://github.com/you97ssef/Helloquent.
Los modelos deben almacenarse en el directorio /app/Models
y deben extender la clase Model
(como lo demuestra la clase Person
en el código).
El componente Ver contiene funciones que devuelven HTML mezclado con datos que se mostrarán al usuario. Los datos utilizados se pueden pasar desde el Controlador y se puede acceder a ellos a través del atributo $this->data
(matriz). Las vistas deben almacenarse en el directorio /app/views
y deben extender la clase View
(como lo demuestran las clases DefaultView
o ErrorView
en el código).
Texto revisado: el componente Controlador maneja la entrada del usuario y actualiza el Modelo y la Vista en consecuencia. Los controladores deben almacenarse en el directorio /app/Controllers
y deben extender la clase Controller
. Tiene una propiedad $this->request
que contiene datos de la solicitud entrante. Para responder como una página web, se debe definir una Vista y se debe llamar a la función render
de esa Vista, como $view->render("renderBody")
. Para responder a una llamada API, se debe utilizar la función respond
de la clase HttpResponse
, por ejemplo HttpResponse::respond($data)
. Consulte DefaultController
para ver un ejemplo.
La aplicación comienza con el archivo index.php. En primer lugar, se construye la solicitud, seguido del registro de CSS y JS. A continuación, se inicializan la configuración de la aplicación y la configuración de la base de datos y luego se configura el enrutador. Finalmente, la aplicación se ejecuta llamando $router->run();
(consulte el archivo index.php para obtener más información)
Este marco tiene la licencia MIT, que es una licencia permisiva de código abierto que permite el uso, modificación y distribución del software. La licencia MIT permite un alto grado de flexibilidad en la forma en que se puede utilizar el software e incorpora un conjunto mínimo de restricciones.