PHPackages                             dinozign/dino-framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. dinozign/dino-framework

ActiveLibrary

dinozign/dino-framework
=======================

Framework chido para aplicaciones web chidas

v1.2.10(5mo ago)037MITPHP

Since Feb 20Pushed 5mo ago1 watchersCompare

[ Source](https://github.com/joelAIbarraDino/DinoFramework)[ Packagist](https://packagist.org/packages/dinozign/dino-framework)[ RSS](/packages/dinozign-dino-framework/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (21)Used By (0)

DinoFramework
=============

[](#dinoframework)

DinoFramework es un framework de PHP para desarrollo de aplicaciones web con arquitectura MVC diseñado por [Dinozign](https://dinozign.com)

Instalación
-----------

[](#instalación)

1. Por el momento para poder usar el Framework debe ser descargado el repositorio en su maquina virtual

```
git clone https://github.com/joelAIbarraDino/DinoFramework
```

2. crear una carpeta de trabajo donde estara su proyecto

```
mkdir nuevoProyecto && cd nuevoProyecto
```

3. iniciar un nuevo proyecto con composer

```
composer init
```

4. editar el archivo json y agregar el campo **repositories**

```
"repositories": [
    {
        "type":"path",
        "url":{path del repositorio descargado en el paso 1},
        "options": {
            "symlink": false
        }
    }
]
```

5. en el campo *require* agregar el nombre del paquete **"joel/dino-framework":"\*"**

```
"require": {
    "joel/dino-framework":"*"
}
```

6. guardar el archivo json y actualizar composer para que instale el nucleo del framework

```
composer update
```

nuevo proyecto
--------------

[](#nuevo-proyecto)

Para generar la estructura basica de un nuevo proyecto, una vez que el nucleo este instalado correctamente, ejecute el siguiente comando en la raiz del proyecto

```
vendor/bin/dino-install
```

Despues de ejecutar el comando tendra una estructura basica en su proyecto de la siguiente forma

```
nuevo-proyecto/
├── app/
│   ├── Middlewares/
│   ├── Controllers/
│   │   └── PublicController.php
│   ├── Models/
│   │   └── User.php
│   └── Views/
│       ├── public/
│       │   └── index.php
│       └── master.php
├── logs/
│   └── error.log
├── public/
│   ├── index.php
│   └── .env
├── vendor/
└── composer.json
```

dentro de la carpeta app pude crear controladores, modelos, middlewares y vistas que requiera en su proyecto.

Despues de crear la estructura del proyecto, debe agregar el campo `autoload` y registrar el namespace App que apunta a la carpeta app, esto por que los archivos creados estan bajo este namespace y puede generar errores

```
"autoload": {
        "psr-4": {
            "App\\":"./app"
        }
    }
```

Archivos por defecto en un nuevo proyecto
-----------------------------------------

[](#archivos-por-defecto-en-un-nuevo-proyecto)

A continuación se explicara los archivos que son generados despues de ejecutar el comando para la creación de un nuevo proyecto

### PublicController.php

[](#publiccontrollerphp)

por defecto el controlador que maneja las paginas disponibles para todo el publico se llama `PublicController.php`, las vistas que llama este controlador estan en la carpeta `app/Views/public`, todas las vistas que pueden ser vistas sin necesidad de ser autenticado pueden ser guardadas en esta carpeta

### Model user

[](#model-user)

por defecto tendra un modelo usuario para consultar en su base de datos con los siguientes atributos

```
public ?int $id;
public string $username;
public string $email;
public string $password;
public string $token;
```

pude personalizar el nombre de sus atributos dependiendo del diseño de su base de datos

### View/master.php

[](#viewmasterphp)

este archivo tiene la estrucutura basica que tendra la pagina web, si requiere incluir alguna fuente externa o scripts externos que requiera tenerlos presentes en todas sus paginas, pude modificar este archivo dependiendo de sus necesidades

```
>

```

la variable `$content` es donde se inyectara el contenido que tendra la vista, por lo que esta vista no requiere tener toda la estructura completa html. La variable `$scripts` se puede usar para incluir scripts especificos de javascript que requiera la vista que se esta llamando

las variables `$nameApp` y `$title` pueden variar cuando se llama a la vista desde el controlador.

```
public static function index(): void{
    Response::render('public/index', [
        'nameApp'=>APP_NAME,
        'title' => 'Inicio'
    ]);
}
```

### View/index.php

[](#viewindexphp)

Este archivo tiene la estructura html para mostrar en la vista de inicio, como se menciono anteriormente, este archivo y todas las vistas en general no debe de incluir el html completo, ya que se inyecta dentro del contenido del archivo `master.php`, quedando solo esto:

```
Todo parece funcionar correctamente
```

### logs/error.log

[](#logserrorlog)

Este archivo registra los errores que pueden llegar a suceder al momento de desarrollar la aplicación o en el momento de ejecución, por lo que es un archivo util para consultar y corregir errores que pueden suceder en su aplicación

### public/index.php

[](#publicindexphp)

Este es el archivo principal del proyecto, donde se configurar las variables de entorno de la base de datos, credenciales para enviar correos de errores de ejecución al momento de pasar la aplicación en modo de producción, la carga del archivo autoload, la configuración del modo de ejecución para el manejo de errores y las rutas del proyecto, por defecto esta registrada una ruta, la de inicio y usa el controlador que esta definido por defecto

```
