Un pack Symfony pour intégrer Sencha ext js dans une application Symfony
Vous pouvez installer ce bundle à l'aide du compositeur
composer require teqneers/ext-application-bundle
ou ajoutez le package à votre fichier composer.json directement.
Après avoir installé le package, il vous suffit d'ajouter le bundle à votre fichier appkernel.php:
// in AppKernel::registerBundles()
$ bundles = array (
// ...
new TQ Bundle ExtJSApplicationBundle TQExtJSApplicationBundle (),
// ...
);La bundle EXT-Application nécessite une configuration initiale afin qu'elle puisse trouver les fichiers corrects.
# 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
Étant donné que le bundle fournit son propre contrôleur pour servir le micro chargeur, manifester et manifester le cache d'application, vous devez également configurer votre routage pour inclure les itinéraires de bundle à un préfixe donné. Modifiez votre app/config/routing.yml :
# ...
ext_app:
resource: "@TQExtJSApplicationBundle/Resources/config/routing.yml"
prefix:/
# ...
Compte tenu de la structure du répertoire suivant d'une application Symfony fictive
./
|-- 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
Votre configuration peut ressembler à ceci
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
En utilisant l'extension brindale fournie par le bundle, vous pouvez facilement intégrer les ressources d'application EXT JS dans vos modèles d'application.
<!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 >La licence du MIT (MIT)
Copyright (C) 2015 Teqneers GmbH & Co. KG
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres relations dans le logiciel.