Det här avsnittet ger en översikt över vad silex är och varför en utvecklare kanske vill använda den.
Den bör också nämna alla stora ämnen inom silex och länka till relaterade ämnen. Eftersom dokumentationen för silex är ny kan du behöva skapa initialversioner av relaterade ämnen.
Skapa web
i samma mapp som vendor
. Skapa index.php
fil i web
med innehåll
<?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();
För att starta app med PHP inbyggd serverkörning
php -S localhost:8080 -t web
Nu kan du öppna webbläsaren och navigera till http://localhost:8080
, för att se
Hej världen!
Vi definierade också en dynamisk rutt. Navigera till http://localhost:8080/hello/<YOUR_NAME>
ersätt <YOUR_NAME>
med ditt eget namn för att hälsas av din första Silex-app.
Överväg att följa katalogstrukturen för att följa bästa praxis:
[ProjectRoot]
|---[app]
| |---[resources]
| routes.php
|---[web]
| |---[resources]
| | |---[css]
| | |---[img]
| | |---[js]
| .htaccess
| index.php
|---[src]
|---[var]
|---[vendor]
composer.json
composer.lock
Kompositör är det mest flexibla sättet att komma igång med Silex. Skapa en katalog för att vara värd för din Silex-applikation (Namnet ProjectRoot
ovan), cd
till den katalogen och kör följande kommando för att skapa en composer.json
fil:
composer require silex/silex "~2.0"
Detta kommer att lägga till vissa filer och kataloger i vendor
, under ProjectRoot
.
Efter det behöver du bara kräva vendor/autoload.php
filen och skapa en förekomst av Silex\Application
i din index.php
fil under ProjectRoot/web
. Efter handkontrollen definitioner ( routes.php
), ring run
metoden i din ansökan:
ProjectRoot / webb / index.php
require_once __DIR__ . '/../vendor/autoload.php';
$app = new Silex\Application();
require_once __DIR__ . '/../app/routes.php';
$app->run();
ProjectRoot / app / routes.php
$app->get("/", function () {
return new \Symfony\Component\HttpFoundation\Response('Hello World!');
});
ProjectRoot / webb / Htaccess
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>