Framework MVC en PHP: enrutamiento, ORM, autenticacion, validacion, vistas,
WebSockets y una CLI propia (jenu).
Nacio como herramienta de aprendizaje y hoy sostiene aplicaciones reales. La
linea 1.x tiene un contrato explicito: ver
doc/STANDARD-v1.md.
- PHP >= 8.0 con
json,openssl,pdoypdo_mysql. - Composer.
- MySQL o MariaDB.
Opcionales: sockets para WebSockets, curl para la geolocalizacion por IP.
git clone git@github.com:4rcan31/Sao.git mi-app
cd mi-app
composer install
cp .env.example .env
php jenu key:generate
php jenu serveDetalle completo y problemas frecuentes en doc/install.md.
vendor/y.envno estan versionados. Despues de clonar hay que corrercomposer instally crear el.enva partir de.env.example.
Una ruta en app/routes/web.php:
Route::get('/home', function(){
controller('IndexController', 'home');
});El controlador en app/Controllers/IndexController.php:
class IndexController extends BaseController {
public function home(){
view('index');
}
}Y la vista en app/Views/index.php. Ejemplo completo, con modelo y base de
datos, en doc/example.md.
app/ Tu aplicacion: rutas, controladores, modelos, vistas,
middlewares, migraciones y comandos propios.
core/ El nucleo del framework.
public/ Raiz web. Front controller y assets.
inc/ Bootstrap.
doc/ Manual.
examples/ Ejemplos de uso.
testing/ Verificaciones del nucleo.
jenu CLI.
Detalle en doc/directorys.md.
php jenu help # lista todos los comandos
php jenu serve # servidor de desarrollo
php jenu key:generate # genera una APP_KEY nueva
php jenu key:check # verifica que la APP_KEY este cargada
php jenu make:migration usuarios # crea una migracion
php jenu execute:migrations # aplica las migraciones
php jenu check:connection:mysql # prueba la conexion a la base| Tema | Documento |
|---|---|
| Estandar de la version 1 | STANDARD-v1.md |
| Instalacion | install.md |
| Configuracion | settings.md |
| Estructura de directorios | directorys.md |
| Uso general | uso.md |
| Ejemplo completo | example.md |
| Modulo | Documento |
|---|---|
| Introduccion a los modulos | apps/intro.md |
| Enrutamiento | apps/router.md |
| Request y Response | apps/http.md |
| Autenticacion | apps/auth.md |
| Base de datos y ORM | apps/database.md |
| Validacion | apps/validate.md |
| Vistas y formularios | apps/views.md |
| Helpers | apps/helpers.md |
| CLI (jenu) | apps/jenu.md |
| Cifrado | apps/encrypt.md |
| Token CSRF | apps/csrf.md |
| Archivos | apps/resources.md |
| Servidor | apps/server.md |
| Tiempo | apps/time.md |
composer test # verificaciones del nucleo
composer validate # coherencia de composer.json y composer.lockLas reglas que sigue el repositorio estan en doc/STANDARD-v1.md. Los cambios de cada version, en CHANGELOG.md.
- FTechnology — venta de productos para mascotas y control de Croquette, un dispensador de comida basado en hardware.
- Paravos — comercio electronico. De aca salieron las extensiones del ORM, la validacion, la autenticacion y las notificaciones que hoy estan en el nucleo. Ver doc/CONSOLIDATION.md.
MIT.