Semfony Ext JSをSymfonyアプリケーションに統合するためのSymfonyバンドル
Composerを使用してこのバンドルをインストールできます
composer require teqneers/ext-application-bundle
または、composer.jsonファイルにパッケージを直接追加します。
パッケージをインストールしたら、appkernel.phpファイルにバンドルを追加するだけです。
// in AppKernel::registerBundles()
$ bundles = array (
// ...
new TQ Bundle ExtJSApplicationBundle TQExtJSApplicationBundle (),
// ...
);ext-application-bundleには、正しいファイルを見つけることができるように、初期構成が必要です。
# Default configuration for extension with alias: "tq_ext_js_application"
tq_ext_js_application:
app_path: ~ # Required
builds: # Required
# Prototype
name:
development: # Required
build_path: ~ # Required
microloader: /bootstrap.js
manifest: /bootstrap.json
app_cache: null
production: # Required
build_path: ~ # Required
microloader: microloader.js
manifest: app.json
app_cache: cache.appcache
バンドルはマイクロローダー、マニフェスト、アプリケーションキャッシュマニフェストを提供する独自のコントローラーを提供するため、特定のプレフィックスにバンドルルートを含めるようにルーティングを構成する必要もあります。 app/config/routing.ymlを編集:
# ...
ext_app:
resource: "@TQExtJSApplicationBundle/Resources/config/routing.yml"
prefix:/
# ...
架空のsymfonyアプリケーションの次のディレクトリ構造を考えると
./
|-- app/ Application configuration and assets
|-- src/ Application source code
|-- web/ Public web-facing directory (document root)
| |-- app.php Symfony production front controller
| |-- app_dev.php Symfony development front controller
| |-- app/ Root folder for Ext JS application production build
|-- ExampleApp/ The Ext JS application source folder
あなたの構成は次のようになるかもしれません
tq_ext_js_application:
app_path: '%kernel.project_dir%/ExampleApp'
builds:
default:
development:
build_path: build/development/ExampleApp
microloader: /bootstrap.js
manifest: /bootstrap.json
app_cache: ~
production:
build_path: build/production/ExampleApp
microloader: microloader.js
manifest: app.json
app_cache: cache.appcache
バンドルが提供するTwig拡張機能を使用して、Ext JSアプリケーションリソースをアプリケーションテンプレートに簡単に統合できます。
<!DOCTYPE HTML>
< html manifest = " {{ extjsAppCachePath() }} " lang = " en " >
< head >
< meta http-equiv = " X-UA-Compatible " content = " IE=edge " >
< meta charset = " UTF-8 " >
< meta http-equiv = " content-type " content = " text/html; charset=UTF-8 " />
< meta name = " viewport " content = " width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no " >
< title >Welcome!</ title >
< script type = " text/javascript " >
var Ext = Ext || {};
Ext . manifest = ' {{ extjsManifestPath()|e( ' js ' ) }} ' ;
</ script >
< script id = " microloader " data-app = " {{ extjsApplicationId() }} " type = " text/javascript " src = " {{ extjsBootstrapPath() }} " ></ script >
</ head >
< body >
</ body >
</ html >MITライセンス(MIT)
Copyright(c)2015 Teqneers Gmbh&Co。Kg
このソフトウェアと関連するドキュメントファイル(「ソフトウェア」)のコピーを入手して、制限なしにソフトウェアを扱うために、このソフトウェアを制限する権利を含め、ソフトウェアのコピーをコピー、変更、公開、配布、販売する、ソフトウェアのコピーを許可する人を許可する人を許可することを含めて、許可が無料で許可されます。
上記の著作権通知とこの許可通知は、ソフトウェアのすべてのコピーまたはかなりの部分に含まれるものとします。
このソフトウェアは、商品性、特定の目的への適合性、および非侵害の保証を含むがこれらに限定されない、明示的または黙示的なものを保証することなく、「現状のまま」提供されます。いかなる場合でも、著者または著作権所有者は、契約、不法行為、またはその他の訴訟、ソフトウェアまたはソフトウェアの使用またはその他の取引に関連する、またはその他の契約、またはその他の請求、またはその他の責任について責任を負いません。