b) Copiarlo en donde quieras el proyecto (ej: c:\wamp\www\silex_new)
c) En NetBean con el botón derecho apuntar al nombre del proyecto (silex_new) y darle a composer -> update no dev, y te hará toda la instalación (incluido el doctrine)
NOTA: Si una vez ya hecha la página queremos añadir un nuevo módulo que nos faltaba solo hay que modificar el fichero: composer.json añadiendo el módulo que queramos, por ejemplo:
"symfony/translation": "~2.3",
Y darle a botón derecho -> composer -> update no dev, y te añade el nuevo módulo para que funcione (te lo añade a la carpeta Vendor por lo que habrá que volver a subir esa carpeta al servidor)
d) Crear una carpeta llamada views dentro de web.
e) Crear un .htaccess en la carpeta web:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
#RewriteBase /path/to/app
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>
f) Editar el index.php para empezar a añadir tus URL amigables:
$app = new Silex\Application();
$app->register(new Silex\Provider\UrlGeneratorServiceProvider());
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__.'/views',
));
$app->get('/', function () {
return 'Bienvenido to the homepage';
})
->bind('homepage');
Para ejecutarlo: http://localhost:82/silex_new/web/
g) Ejemplo con una vista creada por ti, por eje,plo crear views/hola.twig:
hola mundo, bienvenido {{ nombre }}
Y en el index el controller sería:
$app->get('/hola/{nombre}', function ($nombre) use ($app) {
return $app['twig']->render('hola.twig', array(
'nombre' => $nombre,
));
})
->bind('hola');
Para ejecutarlo: http://localhost:82/silex_new/web/hola/Pepe
h) Crear barra de navegación para una web:
crear menu.twig:
<head>
<link rel="stylesheet" type="text/css" href="{{ app.request.basepath }}/css/estilo.css">
</head>
{% set route = app.request.attributes.get('_route') %}
<ul>
<li><a {% if route == 'inicio'%} class="active" {%endif%} href="{{ path('inicio') }}">Inicio</a></li>
<li><a {% if route == 'hola'%} class="active" {%endif%} href="{{ path('hola', {nombre: 'Leandro'}) }}">Hola mundo</a></li>
</ul>
En el index:
$app->get('/', function () use ($app) {
// return 'Bienvenido, estás en la página principal de esta página. Disfrútala';
return $app['twig']->render('inicio.twig');
})
->bind('inicio');
$app->get('/hola/{nombre}', function ($nombre) use ($app) {
return $app['twig']->render('hola.twig', array(
'nombre' => $nombre
));
})
->bind('hola');
estilo.css se guarda en la carpeta web:
li { display:inline-block; }
.active { font-weight:bold; color:red; }
No hay comentarios:
Publicar un comentario