silexEmpezando con silex


Observaciones

Esta sección proporciona una descripción general de qué es silex y por qué un desarrollador puede querer usarlo.

También debe mencionar cualquier tema importante dentro de silex y vincular a los temas relacionados. Dado que la Documentación para silex es nueva, es posible que deba crear versiones iniciales de esos temas relacionados.

Hola Mundo

Cree web directorio web en la misma carpeta que el directorio del vendor . Crear archivo index.php en directorio web con contenidos.

<?php
// web/index.php

require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();

$app->get("/", function () {
    return "Hello world!";
});

$app->get("/hello/{name}", function ($name) use ($app) {
    return "Hello ".$app->escape($name);
});

$app->run();

Para iniciar la aplicación usando el servidor incorporado de PHP , ejecute

php -S localhost:8080 -t web
 

Ahora puede abrir el navegador y navegar a http://localhost:8080 , para ver

Hola Mundo!

También definimos una ruta dinámica. Vaya a http://localhost:8080/hello/<YOUR_NAME> reemplazando <YOUR_NAME> con su propio nombre para que lo reciba su primera aplicación Silex.

Instalación o configuración

Considere la siguiente estructura de directorios para cumplir con las mejores prácticas:

[ProjectRoot]
    |---[app]
    |    |---[resources]
    |    routes.php
    |---[web]
    |    |---[resources]
    |    |    |---[css]
    |    |    |---[img]
    |    |    |---[js]
    |    .htaccess
    |    index.php
    |---[src]
    |---[var]
    |---[vendor]
    composer.json
    composer.lock
 

Composer es la forma más flexible de comenzar con Silex. Cree un directorio para alojar su aplicación Silex (llamada ProjectRoot arriba), cd a ese directorio y ejecute el siguiente comando para crear un archivo composer.json :

composer require silex/silex "~2.0"
 

Esto agregará algunos archivos y directorios al directorio del vendor , bajo ProjectRoot .

Después de eso, todo lo que necesita hacer es requerir el archivo vendor/autoload.php y crear una instancia de Silex\Application en su archivo index.php en ProjectRoot/web . Después de las definiciones de su controlador ( routes.php ), llame al método de run en su aplicación:

ProjectRoot / web / index.php

require_once __DIR__ . '/../vendor/autoload.php';

$app = new Silex\Application();
require_once __DIR__ . '/../app/routes.php';

$app->run();
 

ProjectRoot / app / route.php

$app->get("/", function () {
    return new \Symfony\Component\HttpFoundation\Response('Hello World!');
});
 

ProjectRoot / web / .htaccess

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
</IfModule>