Download the PHP package laton/framework without Composer
On this page you can find all versions of the php package laton/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package framework
Laton Web Framework
PHP 8 requerido
Descargar
git clone https://github.com/mbrianp05/Laton.git luego ubicate en la carpeta del proyecto y ejecuta composer install
o tambien composer create-project laton/framework <nombre_del_proyecto> y es exactamente lo mismo.
Uso
Abre la consola de xampp o cualquiera que tenga acceso al comando php y ejecuta (ubicado en la carpeta del proyecto) php --server localhost:90 -t public
y abre el navegador en http://localhost:90
Empezando
Los controladores se registran en map.php
Un controlador se crea en src/controller y luce asi:
En la vista tienes acceso a las variables que pasaste en el controlador
Los namespaces se corresponden a la carpeta src = App y todo lo demas de mantiene (src/Entity, en namespace seria: App\Entity)
Base de datos (aun no terminado)
Para las bases de datos crea un entidad en src/Entity (el namespace App\Entity) y crea propiedades publicas y aplicale el atributo Column, solo las propiedades que tengan el atributo seran interpretadas como columnas en la base de datos.
Con el atributo column defines la columna como el tipo, si acepta null, si es unica (como el email), el nombre de la columna, etc. Si ninguno de estos datos es definido pues entonces son obtenidos de PHP ej: el nombre de la columna sera el nombre de la propiedad y el tipo sera el tipo de la propiedad. El id de cada entidad debe ser definido con el atributo ID y cada entidad debe tener uno y por defecto tiene como valor NULL
A partir de ese entidad se puede crear la tabla en la base de datos, injectando SchemaGenerator a un metodo del controlador (en el futuro hare para que se pueda hacer desde la consola)
Antes cambia la configuracion de la conexion a la base de datos en .ini (por defecto no tiene base de datos configurada)
La base de datos la puedes crear tambien con SchemaGenerator con createDatabase(nombredelabasededatos), pero bueno ya la debes haber creado manualmente para probar el codigo anterior.
Insertar datos
Para insertar en la base de datos exiges EntityManager en el controlador.
Consultas
Ya por ultimo las consultas a la base de datos se hace con los repositorios para definir un repositorio a una entidad se le aplica el atributo repository
La clase UserRepository va en src/Repository y hereda de AbstractRepository para obtener los metodos de consulta basica.
Lo unico que exige AbstractRepository es que crees un metodo getRefEntity devolviendo la entidad a la que el repositorio esta relacionado. Para hacer las consultas puedes injectar en el controlador EntityManager y con el metodo getRepository(entityclass) obtienes el repositorio y algunos metodos para hacer consultas. Sin embargo puedes injectar directamente el repositorio tambien (ya de paso explico como se actualiza y se borra un registro).