Silex:Symfonyベースのマイクロフレームワークの簡潔な紹介(現在廃止されました)
Symfonyコンポーネントに基づいて構築され、Sinatra(Ruby)からインスピレーションを得ているPHPマイクロフレームワークであるSilexは、Webアプリケーション開発に対する合理化されたアプローチを提供します。 この記事は、Silexとその主要な機能の基本的な理解を提供します。注:
コアコンセプト:
軽量で柔軟性:
SilexServiceProviderInterface
register
インストール(Composerを使用):プロジェクト構造(例):
Silexの柔軟性により、カスタマイズされた組織が可能になります。提案された構造:
{ "require": { "silex/silex": "1.3.*@dev", "twig/twig": "1.17.*@dev" }, "require-dev": { "symfony/var-dumper": "dev-master" } }
composer update --dev
silexアプリケーションインスタンスを作成します:
ルーティング:
ルーティングには、URLパターンをコントローラー関数にマッピングすることが含まれます
<code>|-app/ |----config/ |-resources/ |----views/ |----logs/ |-src/ |----MyApp/ |-public/ |----index.php |----.htaccess |-vendor/ |-composer.json</code>
public/index.php
メソッドをサポートします。 戻り値は、文字列またはインスタンスになります。<?php require_once __DIR__ . '/../vendor/autoload.php'; $app = new Silex\Application(); $app['debug'] = true; // Enable debugging $app->run();
ルーティングパラメーター、アサーション、および変換:
/users/{id}
コントローラー関数にパラメーターを渡すことができます
->assert("id", "d ")
->convert
命名ルートは保守性を向上させます:
URLジェネレーターサービスプロバイダーは、名前付きルートへのリンクを生成できます。
{ "require": { "silex/silex": "1.3.*@dev", "twig/twig": "1.17.*@dev" }, "require-dev": { "symfony/var-dumper": "dev-master" } }
コントローラーとグループ化:
大規模なアプリケーションの場合、個別のコントローラークラスを使用することをお勧めします。 コントローラープロバイダーを使用したコントローラーのグループ化は、特に安らかなAPIのために組織を強化します。
プロバイダー(機能の拡張):
<code>|-app/ |----config/ |-resources/ |----views/ |----logs/ |-src/ |----MyApp/ |-public/ |----index.php |----.htaccess |-vendor/ |-composer.json</code>
プロバイダーは、コンポーネントをSilexに統合します。 例:Twig Service Providerの登録:
結論:
<?php require_once __DIR__ . '/../vendor/autoload.php'; $app = new Silex\Application(); $app['debug'] = true; // Enable debugging $app->run();
Silexは、より小さなPHPアプリケーションを構築するためのシンプルで効率的な方法を提供しました。 非推奨ですが、その核となる原則を理解することは有益なままです。 新しいプロジェクトの場合、Symfonyは、より堅牢で積極的に維持されている代替を提供します。 以下のFAQセクションでは、SilexとSymfonyへの移行に関する一般的な質問に対処しています。 (ここでは、応答を簡潔に保つために、元のFAQセクションを省略しています。その情報が必要な場合は、お知らせください。)
以上がSilexの紹介-Symfony Micro -Frameworkの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。