irishdan / js-settings-bundle
将数据作为javascript注入到页面中的工具包
v2.0
2018-06-23 08:29 UTC
Requires
- php: >=7.1
- symfony/framework-bundle: ~3.0|~4.0
- symfony/property-access: ~3.4|~4.0
Requires (Dev)
- phpunit/phpunit: 4.8.*
README
此工具包提供了一种服务和twig扩展,以便将数据作为javascript对象轻松注入到网页中。
1: 安装
使用composer安装。
composer require irishdan/js-settings-bundle
步骤2: 启用工具包
通过将工具包添加到项目中的app/AppKernel.php文件注册工具包列表中,启用工具包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new IrishDan\JsSettingsBundle\JsSettingsBundle(), ); // ... } // ... }
在您的config.yml文件导入中导入服务定义
- { resource: "@JsSettingsBundle/Resources/config/services.yml" }
3: 配置
无需配置。部分配置可供使用。
在config.yml中,您可以添加
js_settings:
object_name: 'JsData'
defaults:
local: "%locale%"
page_data:
site: 'www.example.com'
object_name: 默认情况下,javascript对象被命名为'Symfony'。您可以通过使用上述配置来更改它为'JsData'。
defaults: 默认值默认添加到javascript对象中,并且始终可用。
4: 使用方法
该工具包提供了一个单一的服务'js_settings.settings',用于向javascript对象中添加和删除数据。
要添加变量,简单传递键值对,如下所示
// The key can be a string... $this->get('js_settings.settings')->addData('key', $values); // The key can be an array... $this->get('js_settings.settings')->addData(['first_key', 'second_key'], $values); // The key can be index notation $this->get('js_settings.settings')->addData('[first_key][second_key]', $values);
或者,使用pushData将数据推入数组。
$this->get('js_settings.settings')->pushData('[first_key][second_key]', $values);
要将javascript对象注入到页面中,只需将以下twig函数添加到您的twig模板中
{{ get_js_settings() }}