> silex:基於符號的微型框架(現已棄用)的簡明介紹
Silex是建立在Symfony組件並汲取Sinatra(Ruby)的靈感的PHP微型框架的PHP微框架,為Web應用程序開發提供了一種簡化的方法。 本文提供了對Silex及其關鍵特徵的基本理解。>注:截至2018年6月,Silex不再積極維護; Symfony是新項目的推薦選擇。 但是,了解Silex對於維持舊應用程序或掌握適用於較大框架的基本概念可能是有價值的。
SilexServiceProviderInterface
>至關重要的是要記住,不再積極支持Silex。 雖然適合較小,更簡單的應用程序,但Symfony的全堆棧功能,更大的社區和全面的文檔使其在大規模項目中都具有優越性。 register
>運行以安裝依賴項並生成自動加載器。 包括用於模板的樹枝,並添加了Symfony的Var Dumper進行調試。
項目結構(示例):Silex的靈活性允許自定義組織。建議的結構:
<code class="language-json">{ "require": { "silex/silex": "1.3.*@dev", "twig/twig": "1.17.*@dev" }, "require-dev": { "symfony/var-dumper": "dev-master" } }</code>
composer update --dev
創建Silex應用程序實例:
路由:
路由涉及將URL模式映射到控制器函數:
<code>|-app/ |----config/ |-resources/ |----views/ |----logs/ |-src/ |----MyApp/ |-public/ |----index.php |----.htaccess |-vendor/ |-composer.json</code>
支持GET,發布,PUT,刪除和處理多種請求方法的方法。 返回值可以是字符串或public/index.php
>實例。
<code class="language-php"><?php require_once __DIR__ . '/../vendor/autoload.php'; $app = new Silex\Application(); $app['debug'] = true; // Enable debugging $app->run();</code>
>路由參數,斷言和轉換:
/users/{id}
>允許將參數傳遞給控制器函數。 ->assert("id", "d ")
執行數據類型驗證。 ->convert
>在將它們傳遞給控制器之前允許預處理參數。 >名為路由:
<code class="language-json">{ "require": { "silex/silex": "1.3.*@dev", "twig/twig": "1.17.*@dev" }, "require-dev": { "symfony/var-dumper": "dev-master" } }</code>URL生成器服務提供商啟用生成指定路由的鏈接。 >控制器和分組:
對於較大的應用程序,建議使用單獨的控制器類。 使用控制器提供商對控制器進行分組會增強組織,尤其是對於Restful API:
提供程序(擴展功能):
<code>|-app/ |----config/ |-resources/ |----views/ |----logs/ |-src/ |----MyApp/ |-public/ |----index.php |----.htaccess |-vendor/ |-composer.json</code>提供商將組件集成到Silex中。 示例:註冊樹枝服務提供商:
結論:
Silex提供了一種簡單有效的方法來構建較小的PHP應用程序。 在貶低的同時,了解其核心原則仍然是有益的。 對於新項目,Symfony提供了更健壯和積極維護的選擇。 下面的常見問題解答部分解決了有關Silex及其遷移到Symfony的常見問題。
<code class="language-php"><?php require_once __DIR__ . '/../vendor/autoload.php'; $app = new Silex\Application(); $app['debug'] = true; // Enable debugging $app->run();</code>(此處省略了原始常見問題部分以保持響應簡潔。如果您需要這些信息,請告訴我。)
>
以上是Silex簡介 - 符號微型框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!