Eliasis PHP Framework

Eliasis PHP Framework / Documentación · Versión 1.1.3


Introducción


Eliasis es un framework web HMVC de código abierto para el desarrollo de sitios web dinámicos con PHP. Ligero, modular y optimizado para el desarrollo de plugins WordPress.

Primeros pasos #volver arriba

Requisitos

Este framework es soportado por versiones de PHP 5.6 o superiores y es compatible con versiones de HHVM 3.0 o superiores.

Instalación

Puedes instalar Eliasis PHP Framework en tu proyecto utilizando Composer. Si vas a empezar un nuevo proyecto, recomendamos utilizar nuestra aplicacion básica como punto de partida:

                                    composer create-project --prefer-dist eliasis-framework/app
                                
                                    cd app
                                
                                    composer install
                                

Para aplicaciones existentes puedes ejecutar lo siguiente:

                                    composer require eliasis-framework/eliasis
                                

El comando anterior sólo instalará los archivos necesarios, si prefieres descargar todo el código fuente (incluyendo tests, directorio vendor, excepciones no utilizadas, documentos...) puedes utilizar:

                                    composer require eliasis-framework/eliasis-framework --prefer-source
                                

Estructura básica

Solo necesitas un archivo PHP en el que incluyas la autocarga de clases con Composer para crear tu primera aplicación con Eliasis Framework.

                                    /**
                                     * my-custom-app.php
                                     */
                                    require __DIR__ . '/vendor/autoload.php';
                                

Lo básico #volver arriba

Crear aplicación

Para crear una aplicación con Eliasis simplemente:

                            /**
                             * my-custom-app.php
                             */
                            use Eliasis\Framework\App;

                            App::run(__DIR__);
                        

Si no se especifica ningún ID, el identificador predeterminado de la aplicación será "Default".

Métodos vistos en esta sección:

ID de aplicación

El identificador admite las siguientes convenciones de clase: UpperCamelCase, lowerCamelCase & snake_case.

Los identificadores de aplicación permiten crear múltiples aplicaciones en un mismo sitio web, evitando colisiones y facilitando el acceso a ellas desde cualquier lugar:

                            App::run(__DIR__, 'app', 'MyApplication');
                        

Idealmente diseñados para utilizar diferentes instancias de Eliasis Framework en múltples plugins de WordPress corriendo al mismo tiempo:

                            /**
                             * wp-content/plugins/my-first-plugin/my-first-plugin.php
                             */
                            require __DIR__ . '/vendor/autoload.php';

                            use Eliasis\Framework\App;

                            App::run(__DIR__, 'wordpress-plugin', 'MyFirstPlugin');
                        
                            /**
                             * wp-content/plugins/my-second-plugin/my-second-plugin.php
                             */
                            require __DIR__ . '/vendor/autoload.php';

                            use Eliasis\Framework\App;

                            App::run(__DIR__, 'wordpress-plugin', 'MySecondPlugin');
                        

Métodos vistos en esta sección:

Aplicaciones múltiples

Tienes dos opciones para saltar de una aplicación a otra. Pasando el ID de la aplicación como método (recomendado):

                            App::MyFirstApp->getCurrentID(); // MyFirstApp

                            App::MySecondApp->getCurrentID(); // MySecondApp
                        

O a través del método App::setCurrentID():

                            App:setCurrentID('MyFirstApp');

                            App::getCurrentID(); // MyFirstApp
                            
                            App:setCurrentID('MySecondApp');

                            App::getCurrentID(); // MySecondApp
                        

En el caso de solo utilizar una aplicación en el sitio web, no hay necesidad de especificar ni establecer el ID de la aplicación.

Métodos vistos en esta sección:

Archivos de configuración

La aplicación recopilará todos los archivos de configuración encontrados en el directorio "config":

Archivos de configuración deben retornar un array indexado y podrán contener cualquier tipo de dato:

                            /**
                             * config/settings.php
                             */

                            return [
                                'slug' => 'my-custom-app',
                                'email' => [
                                    'rol' => [
                                        'admin' => 'admin@site.com',
                                        'editor' => 'editor@site.com'
                                    ]
                                ]
                            ];
                        
                            /**
                             * config/paths.php
                             */
                            
                            use Eliasis\Framework\App;

                            return [
                                'path' => [
                                    'layout' => App::ROOT() . 'src/template/layout/',
                                    'page'   => App::ROOT() . 'src/template/page/',
                                ],
                            ];
                        

Temas referidos en esta sección:

Obtener opciones

Para obtener los parámetros de configuración desde la aplicación tienes varias opciones.

Pasando el index como método:

                            App::slug();

                            App::email();

                            App::email('rol');

                            App::email('rol', 'admin');
                        

Utilizando el método getOption():

                            App::getOption('slug');

                            App::getOption('email');

                            App::getOption('email', 'rol');

                            App::getOption('email', 'rol', 'admin');
                        

Pasando el ID de la aplicación como método y usando el método getOption():

                            App::MyCustomApp()->getOption('slug');

                            App::MyCustomApp()->getOption('email');

                            App::MyCustomApp()->getOption('email', 'rol');

                            App::MyCustomApp()->getOption('email', 'rol', 'admin');
                        

Cualquiera de las tres opciones devolverá el mismo resultado:

                            /*
                            string(13) "my-custom-app"

                            array(1) {
                                ["rol"] => array(1) {
                                    ["admin"] => string(14) "admin@site.com"
                                }
                            }

                            array(1) {
                                ["admin"] => string(14) "admin@site.com"
                            }

                            string(14) "admin@site.com"
                            */
                        

Métodos vistos en esta sección:

Controladores

Los controladores deben ser creados en el directorio "src/Controller" de la aplicación:

La estructura básica de un controlador en Eliasis Framework es la siguiente:

                            /**
                             * src/Controller/Home.php
                             */
                            namespace App\Controller;

                            use Eliasis\Framework\Controller;

                            class Home extends Controller
                            {

                            }
                        

Instancias de controladores

Puedes acceder fácilmente a la instancia de un controlador desde cualquier punto de la aplicación utilizando el método "App::getControllerInstance()".

El método "App::getControllerInstance" utiliza los espacios de nombre almacenados en "App::namespaces()" para obtener las instancias de los controladores, por lo tanto deben haber sido agregados anteriormente en el archivo "config/namespaces.php":

                            /**
                             * config/namespaces.php
                             */
                                                        
                            return [
                                'namespaces' => [
                                    'controller' => 'App\\Controller\\'
                                ],
                            ];
                        

O haber sido añadido anteriormente a través del método "App::setOption()":

                            App::setOption('namespaces', [
                                'controller' => 'App\\Controller\\'
                            ];
                        

Para obtener la instancia simplemente tienes que indicar el nombre de la clase del controlador y el ID del namespace. Este último parámetro es opcional, aunque es recomendable utilizarlo cuando se repiten nombres de clase:

                            App::getControllerInstance('Home');
                        
                            App::getControllerInstance('Home', 'controller');
                        

Métodos vistos en esta sección:

Modelos

Los modelos deben ser creados en el directorio "src/Model" de la aplicación, estar al mismo nivel que el controlador y tener el mismo nombre:

La estructura básica de un modelo en Eliasis Framework es la siguiente:

                            /**
                             * src/Model/Home.php
                             */
                            namespace App\Model;

                            use Eliasis\Framework\Model;

                            class Home extends Model
                            {
                                
                            }
                        

Al instanciar un controlador, el modelo es instanciado automáticamente si es que existe. Puedes acceder a la instancia del modelo desde el controlador utilizando el atributo "model" en los métodos del controlador:

                            /**
                             * src/Controller/Home.php
                             */
                            public function createTables()
                            {
                                return $this->model->createTables();
                            }
                        

Plantillas

Las plantillas pueden ser creadas en cualquier directorio aunque se recomienda hacerlo en el directorio "src/template":

Estructura básica de las plantillas:

                            /** 
                             * src/template/layout/header.php
                             *
                             * Header content.
                             */
                        
                            /** 
                             * src/template/page/home.php
                             *
                             * Home page content.
                             */
                        
                            /** 
                             * src/template/layout/footer.php
                             *
                             * Footer content.
                             */
                        

Puedes acceder a la instancia de la vista desde el controlador utilizando el atributo "view" en los métodos del controlador.
Utiliza el método "renderizate" para cargar las plantillas y enviarle parámetros personalizados:

                            /**
                             * src/Controller/Home.php
                             */
                            public function render()
                            {
                                $page = App::path('page');

                                $layout = App::path('layout');

                                $this->view->renderizate($layout, 'header', ['data' => 'Header']);

                                $this->view->renderizate($page, 'home', ['data' => 'Home']);

                                $this->view->renderizate($layout, 'footer', ['data' => 'Footer']);
                            }
                        

Desde cada plantilla podrás utilizar las opciones enviadas desde el método "renderizate" a través del método "View::getOption()":

                            /**
                             *  src/template/layout/header.php
                             */
                            use Eliasis\Framework\View;

                            View::getOption('data'); // Header
                        
                            /**
                             *  src/template/page/home.php
                             */
                            use Eliasis\Framework\View;

                            View::getOption('data'); // Home
                        
                            /**
                             *  src/template/layout/footer.php
                             */
                            use Eliasis\Framework\View;

                            View::getOption(); // ['data' => 'Footer']
                        

Métodos vistos en esta sección:

Rutas predefinidas

Lista de "constantes" para manejo de ruta:

                            App::ROOT();       # /root/

                            App::CORE();       # /root/vendor/eliasis-framework/eliasis/

                            App::PUBLIC();     # /root/public/

                            App::TEMPLATES();  # /root/templates/

                            App::MODULES();    # /root/modules/

                            App::PLUGINS();    # /root/plugins/

                            App::COMPONENTS(); # /root/components/
                        

También puedes acceder a estos parámetros a través de los diferentes métodos disponibles en Eliasis.

Temas referidos en esta sección:

URLs predefinidas

Lista de "constantes" para manejo de URLs:

                            App::PUBLIC_URL();     # https://site.com/root/public/

                            App::TEMPLATES_URL();  # https://site.com/root/templates/

                            App::MODULES_URL();    # https://site.com/root/modules/

                            App::PLUGINS_URL();    # https://site.com/root/plugins/

                            App::COMPONENTS_URL(); # https://site.com/root/components/
                        

También puedes acceder a estos parámetros a través de los diferentes métodos disponibles en Eliasis.

Temas referidos en esta sección:

Clase App #volver arriba

App::run()

Inicializador de aplicaciones.

                            App::run($baseDirectory, $type, $id);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$baseDirectory Directorio raíz de la aplicación. string
$type Tipo de aplicación: "app" | "wordpress.plugin". string no "app"
$id Identificador único para la aplicación. string no "Por defecto"

@return (boolean true)


Ejecutar aplicación:

                            App::run(__DIR__);
                        

Ejecutar aplicación con ID específico:

                            App::run(__DIR__, 'app', 'FirstApplication')
                        

Ejecutar plugin WordPress con ID específico:

                            App::run(__DIR__, 'wordpress-plugin', 'FirstApplication')
                        

Puedes ampliar información en las secciones:

App::setOption()

Definir opciones para la aplicación.

                            App::setOption($option, $value);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$option Nombre para la opción. string
$value Valor de la opción. mixed

@return (mixed) → Option set.


Establecer opciones:

                            App::setOption('string-test', 'string');

                            App::setOption('int-test', 8);
                            
                            App::setOption('bool-test', true);
                            
                            App::setOption('array-test', []);
                        

Establecer opciones para múltiples aplicaciones:

                            App::MyApplicationOne()->setOption('test', 'One');

                            App::MyApplicationTwo()->setOption('test', 'Two');
                            
                            App::setCurrentID('MyApplicationThree');

                            App::setOption('test', 'Three');

                            App::MyApplicationFour()->setOption('test', 'Four');

                        

Puedes ampliar información en las secciones:

App::getOption()

Obtener opciones de la aplicación.

                            App::getOption(...$params);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$params Índice o índices del parámetro que se desea obtener. array

@return (mixed) → Parámetros solicitados.


Obtener opciones:

                            App::getOption('index');

                            App::getOption('index', 'index-1');

                            App::getOption('index', 'index-1', 'index-2');
                        

Obtener opciones para múltiples aplicaciones:

                            App::MyApplicationOne()->getOption('test');

                            App::MyApplicationTwo()->getOption('test');
                            
                            App::setCurrentID('MyApplicationThree');

                            App::getOption('test');

                            App::MyApplicationFour()->getOption('test');
                        

Puedes ampliar información en las secciones:

App::getControllerInstance()

Obtener la instancia del controlador.

                            App::getControllerInstance($class, $namespace);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$class Nombre de la clase string
$namespace Índice del namespace. string no ''

@return (object|false) → Instancia de la clase o falso.


Obtener la instancia del controlador:

                            App::getControllerInstance('Home');

                            App::getControllerInstance('Home', 'controller');
                        

Puedes ampliar información en las secciones:

App::setCurrentID()

Seleccionar aplicación estableciendo su ID.

                            App::setCurrentID($id);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$id ID de la aplicación. string

@return (boolean)


Define the current application ID:

                            App::setCurrentID('MyApplicationOne');

                            App::setCurrentID('MyApplicationTwo');
                        

Puedes ampliar información en las secciones:

App::getCurrentID()

Obtener el ID de la aplicación actual.

                            App::getCurrentID();
                        

@return (string) → ID de la aplicación.


Obtener el ID de la aplicación actual:

                            App::getCurrentID();
                        

Puedes ampliar información en las secciones:

Clase View #volver arriba

View::getInstance()

Obtener instancia de la vista.

                            View::getInstance();
                        

@return (object)


Obtener instancia de la vista:

                            View::getInstance();
                        

View::addHeader()

Agregar encabezado HTTP al array de encabezados.

                            View::addHeader($header);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$header Encabezados HTTP. string

@return (boolean true)


Agregar encabezado:

                            View::addHeader('HTTP/1.0 404 Not Found');
                        

Puedes ampliar información en las secciones:

View::addHeaders()

Añadir un array con encabezados a la vista.

                            View::addHeaders($headers);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$headers Encabezados HTTP. array

@return (boolean true)


AAgregar encabezados:

                            View::addHeaders([
                                'WWW-Authenticate: Negotiate',
                                'HTTP/1.0 404 Not Found'
                            ]);
                        

Puedes ampliar información en las secciones:

View::sendHeaders()

Enviar encabezados.

                            View::sendHeaders();
                        

@return (boolean)

Puedes ampliar información en las secciones:

View::renderizate()

Imprimir plantillas.

                            View::renderizate($path, $file, $data);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$path Ruta del archivo. string
$file Nombre del archivo. string
$data Opciones para la vista. array no null

@return (boolean true)


Imprimir plantilla:

                            View::renderizate('path/to/file', 'template-name');
                        

Imprimir plantilla con parámetros personalizados:

                            View::renderizate(
                                'path/to/file',
                                'template-name',
                                ['test' => 'value']
                            ););
                        

Puedes ampliar información en las secciones:

View::getOption()

Obtener opciones.

                            View::getOption(...$params);
                        
Atributo Descripción Tipo de dato Requerido Por defecto
$params Índice o índices del parámetro que se desea obtener. array

@return (mixed) → Parámetros solicitados.


Get options:

                            View::getOption('index');

                            View::getOption('index', 'index-1');

                            View::getOption('index', 'index-1', 'index-2');
                        

Puedes ampliar información en las secciones:

Componentes #volver arriba

Necesitarás instalar eliasis-framework/complement para agregar componentes.

                            composer require eliasis-framework/complement
                        

Módulos #volver arriba

Necesitarás instalar para agregar módulos.

                            composer require eliasis-framework/complement
                        

Plugins #volver arriba

Necesitarás instalar para agregar plugins.

                            composer require eliasis-framework/complement
                        

Plantillas #volver arriba

Necesitarás instalar para agregar plantillas.

                            composer require eliasis-framework/complement
                        

Bibliotecas adicionales #volver arriba

Eliasis Framework está enfocado en la escalabilidad, permitiéndote desarrollar desde una aplicación con un simple controlador, hasta un sistema completo.

Para ello pone a disposición una serie de bibliotecas opcionales que al instalarlas en tu proyecto se integran en el núcleo de Eliasis:

Asset

Biblioteca para manejo de estilos y scripts; añadir, minimizar, unificar e imprimir.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Asset
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Añadir scripts y estilos a la configuración de la aplicación:

                            /** 
                             * config/assets.php
                             */
                            use Eliasis\Framework\App;

                            $public = App::PUBLIC_URL();

                            return [
                                'assets' => [
                                    'js' => [
                                        'myCustomScript' => [
                                            'name'    => 'myCustomScript',
                                            'url'     =>  $public . 'js/scripts.js',
                                            'attr'    => 'defer',
                                            'version' => '1.1.3',
                                            'footer'  => false
                                        ]
                                    ],
                                    'css' => [
                                        'myCustomStyle' => [
                                            'name'    => 'myCustomStyle',
                                            'url'     => $public . 'css/styles.css',
                                            'version' => '1.1.1'
                                        ]
                                    ]
                                ]
                            ];
                        

Agregar estilos:

                            /** 
                             * public/css/styles.css
                             */
                        
                            /**
                             * src/Controller/Home.php
                             */
                            use Josantonius\Asset\Asset;

                            public function css()
                            {
                                Asset::add('style',     
                                    App::assets('css')['myFirstStyle']
                                );
                            }
                        

Agregar scripts:

                            /** 
                             * public/js/scripts.js
                             */
                        
                            /**
                             * src/Controller/Home.php
                             */
                            use Josantonius\Asset\Asset;

                            public function js()
                            {
                                Asset::add('script',
                                    App::assets('js')['myFirstScript']
                                );
                            }
                        

Para minimizar y/o unificar scripts y estilos basta con colocar el siguiente comando antes de ser agregados:

                            /**
                             * my-custom-app.php
                             */
                            use Josantonius\Asset\Asset;

                            $public = App::PUBLIC_URL();

                            Asset::unify('UniqueID', $public . '/', true);
                        

Complement

Biblioteca para agregar adición de complementos en Eliasis Framework.

Para instalar esta biblioteca, simplemente:

                            composer require eliasis-framework/complement
                        

Esta biblioteca es instanciada por Eliasis cuando se encuentra instalada.

Temas referidos en esta sección:

Biblioteca para el manejo de cookies.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Cookie
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Curl

Biblioteca PHP para hacer peticiones HTTP a través de cURL.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Curl
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Database

SQL database management library.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Database
                        

Eliasis conectará con la base de datos utilizando la primera configuración encontrada en el parámetro "db" de la configuración de la aplicación:

                            /**
                             * config/database.php
                             */
                            return [
                                'db' => [
                                    'app' => [
                                        'provider' => 'PDOprovider',
                                        'host' => 'localhost',
                                        'user' => 'db_user',
                                        'name' => 'db_name',
                                        'password' => 'db_password',
                                        'settings' => ['charset' => 'utf8'],
                                    ],
                                    'api-rest' => [
                                        'provider' => 'PDOprovider',
                                        'host' => 'localhost',
                                        'user' => 'db_user',
                                        'name' => 'db_name',
                                        'password' => 'db_password',
                                        'settings' => ['charset' => 'utf8'],
                                    ],
                                ],
                            ];
                        

Puedes acceder a la instancia de la base de datos utilizando el atributo "db" en los métodos del modelo. Para cambiar la conexión basta con utilizar el método "changeDatabaseConnection()" del modelo.

                            /**
                             * src/Model/Home.php
                             */
                            namespace App\Model;

                            use Eliasis\Framework\Model;

                            class Home extends Model
                            {
                                public function createTables()
                                {
                                    $params = [
                                        'id'    => 'INT(6) PRIMARY KEY',
                                        'name'  => 'VARCHAR(30) NOT NULL',
                                        'email' => 'VARCHAR(50)'
                                    ];

                                    $this->db->create($params)
                                             ->table('test')
                                             ->execute();

                                    $this-model->changeDatabaseConnection('api-rest');

                                    $this->db->create($params)
                                             ->table('test_two')
                                             ->foreing('id')
                                             ->reference('id')
                                             ->on('test')
                                             ->actions('ON DELETE CASCADE ON UPDATE CASCADE')
                                             ->engine('innodb')
                                             ->charset('utf8')
                                             ->execute();
                                }
                            }
                        

ErrorHandler

Biblioteca para manejar excepciones y errores.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/ErrorHandler
                        

Esta biblioteca es instanciada por Eliasis cuando se encuentra instalada.

Puedes establecer métodos personalizados que se llamarán cuando haya algún error o excepción:

                            /**
                             * my-custom-app.php
                             */
                             $instance = App::getControllerInstance('Home', 'controller');
                             $method = 'errorHandler';

                            ErrorHandler::setCustomMethod($instance, $method);
                        

File

Biblioteca para manejo de archivos.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/File
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Hook

Biblioteca para manejo de ganchos de acción.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Hook
                        

Al instalar esta biblioteca, Eliasis cargará los ganchos de acción que se encuentren en el index "hooks" de los archivos de configuración:

                            /**
                             * config/set-hooks.php
                             */
                            use Eliasis\Framework\App;

                            $namespace = App::namespaces('controller');

                            $class =  $namespace . 'Home';

                            return [
                                'hooks' => [
                                    ['header', [$class, 'header'], 8, 0],
                                    ['footer', [$class, 'footer'], 8, 0],
                                    ['css', [$class, 'css'], 8, 0],
                                    ['js',  [$class, 'js'], 8, 0],
                                ],
                            ];
                        

Se agregan los métodos al controlador:

                            /**
                             * src/Controller/Home.php
                             */
                            public function header()
                            {
                                return '
'; } public function footer() { return '
'; }

Y se ejecutan en cualquier punto de la aplicación:

                            /**
                             *  src/template/layout/header.php
                             */
                            use Eliasis\Framework\View;
                            use Josantonius\Hook\Hook;
                            
                            Hook::doAction('css');

                            Hook::doAction('header');

                            View::getOption('data');
                        
                            /**
                             *  src/template/page/home.php
                             */
                            use Eliasis\Framework\View;
                            use Josantonius\Hook\Hook;

                            Hook::doAction('home');

                            View::getOption('data');
                        

HTTPStatusCode

Biblioteca para obtener significado de códigos de estado de respuesta HTTP.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/HTTPStatusCode
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Ip

Biblioteca para obtener la IP del usuario.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Ip
                        

Y para obtener la IP del usuario, simplemente:

                            App::IP();
                        

Json

Biblioteca para la gestión de archivos JSON.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Json
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

LanguageCode

Lista de 217 códigos de idioma: ISO 639-

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/LanguageCode
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

LoadTime

Calcular tiempo de carga de páginas o scripts.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/LoadTime
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Logger

Biblioteca para crear logs fácilmente y almacenarlos en formato JSON.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Logger
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

MimeType

Biblioteca para obtener encabezados MIME y extensiones a partir de ellos.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/MimeType
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Request

Biblioteca para manejo de peticiones.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Request
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Router

Biblioteca para manejo de rutas.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Router
                        

Al instalar esta biblioteca, Eliasis cargará las rutas que se encuentren en el index "routes" de los archivos de configuración:

                            /**
                             * config/set-routes.php
                             */
                            use Eliasis\Framework\App;

                            $namespace = App::namespaces('controller');

                            return [
                                'routes' => [
                                    'my-route/' => $namespace . 'Home@render'
                                ],
                            ];
                        

Se agrega el método al controlador:

                            /**
                             * src/Controller/Home.php
                             */
                            namespace App\Controller;
                             
                            use Eliasis\Framework\Controller;
                            use Josantonius\Asset\Asset;
                             
                            class Home extends Controller
                            {
                                public function header()
                                {
                                    return '
'; } public function footer() { return '
'; } public function css() { Asset::add('style', App::assets('css')['myFirstStyle'] ); } public function js() { Asset::add('script', App::assets('js')['myFirstScript'] ); } public function createTables() { return $this->model->createTables(); } public function render() { $page = App::path('page'); $layout = App::path('layout'); $this->view->renderizate($layout, 'header', ['data' => 'Header']); $this->view->renderizate($page, 'home', ['data' => 'Home']); $this->view->renderizate($layout, 'footer', ['data' => 'Footer']); } }

Al acceder a la URL "https://site.com/my-route/" se ejecutará el método "home" y este ejecutará el método "render".

Session

Biblioteca para el manejo de sesiones.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Session
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Str

Biblioteca para manejo de strings.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Str
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Url

Biblioteca para manipulación de urls.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/Url
                        

Esta biblioteca viene integrada en el núcleo de Eliasis.

WordPress libraries #volver arriba

Serie de bibliotecas opcionales para WordPress que puedes integrar en Eliasis:

WP_Image

Añadir, actualizar y borrar imágenes de posts en WordPress.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/WP_Image
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

WP_Menu

Agregar menú o submenús en WordPress.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/WP_Menu
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

WP_Notice

Mostrar avisos en el panel de administración de WordPress.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/WP_Notice
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

WP_Register

Registrar, minificar y unificar recursos CSS y JavaScript en WordPress.

Para instalar esta biblioteca, simplemente:

                            composer require Josantonius/WP_Register
                        

Esta biblioteca contiene métodos estáticos y no se implementa en el núcleo de Eliasis.

Desarrollado con Eliasis #volver arriba

Listado de aplicaciones y plugins para WordPress desarrollados con Eliasis Framework.

Search Inside



Extensions For Grifus



Licencia #volver arriba

2017 - 2018 Josantonius.

Código liberado bajo la licencia MIT