Looking for silex Answers? Try Ask4KnowledgeBase
Looking for silex Keywords? Try Ask4Keywords

silexRozpoczęcie pracy z silex


Uwagi

Ta sekcja zawiera przegląd tego, czym jest silex i dlaczego deweloper może chcieć go użyć.

Powinien również wymieniać wszelkie duże tematy w silex i link do powiązanych tematów. Ponieważ Dokumentacja dla silex jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.

Witaj świecie

Utwórz katalog web w tym samym folderze, co katalog vendor . Utwórz plik index.php w katalogu web z zawartością

<?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();

Aby uruchomić aplikację przy użyciu wbudowanego serwera PHP , uruchom

php -S localhost:8080 -t web
 

Teraz możesz otworzyć przeglądarkę i przejść do http://localhost:8080 , aby zobaczyć

Witaj świecie!

Zdefiniowaliśmy również jedną dynamiczną trasę. Przejdź do http://localhost:8080/hello/<YOUR_NAME> zastępując <YOUR_NAME> własnym nazwiskiem, aby zostać przywitanym przez pierwszą aplikację Silex.

Instalacja lub konfiguracja

Rozważ następującą strukturę katalogów, aby zachować zgodność z najlepszymi praktykami:

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

Kompozytor to najbardziej elastyczny sposób na rozpoczęcie pracy z Silex. Utwórz katalog do obsługi aplikacji Silex (nazwany ProjectRoot powyżej), cd do tego katalogu i uruchom następującą komendę, aby utworzyć plik composer.json :

composer require silex/silex "~2.0"
 

Spowoduje to dodanie niektórych plików i katalogów do katalogu vendor obszarze ProjectRoot .

Następnie wszystko, co musisz zrobić, to wymagać pliku vendor/autoload.php i utworzyć instancję Silex\Application w pliku index.php w ProjectRoot/web . Po definicjach kontrolera ( routes.php ) wywołaj metodę run w aplikacji:

ProjectRoot / web / index.php

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

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

$app->run();
 

ProjectRoot / app / trasy.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>