silexSilex से शुरुआत करना


टिप्पणियों

यह अनुभाग बताता है कि silex क्या है, और एक डेवलपर इसका उपयोग क्यों करना चाहता है।

इसमें किसी बड़े विषय का उल्लेख भी किया जाना चाहिए, और संबंधित विषयों से जुड़ा होना चाहिए। चूँकि silex के लिए दस्तावेज़ीकरण नया है, इसलिए आपको उन संबंधित विषयों के प्रारंभिक संस्करण बनाने की आवश्यकता हो सकती है।

नमस्ते दुनिया

vendor निर्देशिका के रूप में एक ही फ़ोल्डर में web निर्देशिका बनाएँ। सामग्री के साथ web निर्देशिका में index.php फ़ाइल बनाएँ

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

PHP अंतर्निहित सर्वर रन का उपयोग करके ऐप शुरू करने के लिए

php -S localhost:8080 -t web
 

अब आप ब्राउज़र खोल सकते हैं और देखने के लिए http://localhost:8080 नेविगेट कर सकते हैं

नमस्ते दुनिया!

हमने एक गतिशील मार्ग को भी परिभाषित किया है। http://localhost:8080/hello/<YOUR_NAME> स्थान पर अपने पहले Silex ऐप द्वारा अपने नाम के साथ <YOUR_NAME> को <YOUR_NAME>

स्थापना या सेटअप

सर्वोत्तम प्रथाओं का पालन करने के लिए निम्नलिखित निर्देशिका संरचना पर विचार करें:

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

Silex के साथ आरंभ करने के लिए संगीतकार सबसे लचीला तरीका है। अपने Silex आवेदन (नाम की मेजबानी के लिए एक निर्देशिका बनाने ProjectRoot ऊपर), cd उस निर्देशिका के लिए और एक बनाने के लिए निम्न आदेश चला composer.json फ़ाइल:

composer require silex/silex "~2.0"
 

यह ProjectRoot अंतर्गत, vendor निर्देशिका में कुछ फ़ाइलों और निर्देशिकाओं को ProjectRoot

उसके बाद, आपको केवल vendor/autoload.php ProjectRoot/web . index.php फ़ाइल की आवश्यकता होती है और ProjectRoot/web तहत अपने index.php फ़ाइल में Silex\Application का एक उदाहरण बनाते हैं। अपनी नियंत्रक परिभाषाओं ( routes.php ) के बाद, अपने आवेदन पर run विधि को कॉल करें:

ProjectRoot / वेब / index.php

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

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

$app->run();
 

ProjectRoot / ऐप्स / routes.php

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

ProjectRoot / वेब / .htaccess

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