Um pacote Symfony para integrar Sencha ext JS em um aplicativo Symfony
Você pode instalar este pacote usando compositor
composer require teqneers/ext-application-bundle
ou adicione o pacote ao seu arquivo composer.json diretamente.
Depois de instalar o pacote, você só precisa adicionar o pacote ao seu arquivo appkernel.php:
// in AppKernel::registerBundles()
$ bundles = array (
// ...
new TQ Bundle ExtJSApplicationBundle TQExtJSApplicationBundle (),
// ...
);O Bre-Bundle Ext-Aplicação requer alguma configuração inicial para que possa encontrar os arquivos corretos.
# 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
Como o pacote fornece seu próprio controlador para servir o manifesto de micro-carregador, manifesto e cache de aplicação, você também precisa configurar seu roteamento para incluir as rotas de pacote em um determinado prefixo. Edite seu app/config/routing.yml :
# ...
ext_app:
resource: "@TQExtJSApplicationBundle/Resources/config/routing.yml"
prefix:/
# ...
Dada a seguinte estrutura de diretório de um aplicativo de simfonia fictício
./
|-- 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
Sua configuração pode ser assim
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
Usando a extensão do galho fornecida pelo pacote, você pode facilmente integrar os recursos de aplicativos EXT JS em seus modelos de aplicativos.
<!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 >A licença do MIT (MIT)
Copyright (C) 2015 Teqneers GmbH & Co. KG
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.