imt / yii-assetic
此扩展将Assetic集成到Yii中
Requires
- php: >=5.3.2
- kriswallsmith/assetic: >=1.1.2
- yiisoft/yii: >=1.1.14
Requires (Dev)
- phploc/phploc: 2.*
- phpunit/dbunit: ~1.3
- phpunit/php-invoker: ~1.1
- phpunit/phpunit: 3.7.*
- phpunit/phpunit-selenium: ~1.4
- phpunit/phpunit-story: ~1.0
- satooshi/php-coveralls: v0.6.1
- squizlabs/php_codesniffer: 1.*
This package is not auto-updated.
Last update: 2024-09-24 02:21:50 UTC
README
IMTYiiAssetic
概述
此扩展将Assetic集成到Yii中。
注意,此扩展处于开发阶段。使用时请自行承担风险。
安装
1. 使用Composer(推荐)
要使用Composer安装IMTYiiAssetic
,只需将以下内容添加到您的composer.json
文件中
{ "require": { "imt/yii-assetic": "dev-master" } }
请勿忘记要求由Composer生成的
vendor/autoload.php
文件。
然后,您可以通过在包含composer.json
文件的目录中运行Composer的update命令来安装新的依赖项
$ php composer.phar update imt/yii-assetic
现在,Composer将自动下载所有必需的文件,并为您安装它们。接下来,您只需更新您的main.php
文件,并注册新的扩展
return array( // ... 'aliases' => array( // ... 'IMT\YiiAssetic' => __DIR__ . '/../../vendor/imt/yii-assetic/src/', // ... ), // ... 'components' => array( // ... 'assetManager' => array( 'class' => 'IMT\YiiAssetic\AssetManager', // ... ), 'clientScript' => array( 'class' => 'IMT\YiiAssetic\ClientScript', // ... ), // ... ), // ... );
用法
此扩展的主要目标是提供一组丰富的Assetic过滤器供Yii使用。在开发此扩展时发现,将Assetic集成到Yii中并不容易。Yii发布了一个整个目录(而非指定的文件),并且没有提供任何将资源合并的机制。
此扩展覆盖了一些核心Yii类,并为覆盖的类提供了一些新属性。以下列出这些属性及其用法。
AssetManager
公共属性
cache
确定资源是否将被缓存。
debug
确定是否启用调试模式。
filtersByExt
一个映射,定义了文件扩展名和过滤器之间的关系。
return array( // ... 'components' => array( // ... 'assetManager' => array( 'class' => 'IMT\YiiAssetic\AssetManager', 'filtersByExt' => array( 'css' => array('css_rewrite'), // more filters by ext ), // ... ), // ... ), // ... );
userFilters
用户定义的过滤器,可以用来覆盖核心过滤器。
return array( // ... 'components' => array( // ... 'assetManager' => array( 'class' => 'IMT\YiiAssetic\AssetManager', 'filters' => array( // built-in Assetic filters has already registered 'css_rewrite' => 'Assetic\Filter\CssRewriteFilter', 'smth' => array( 'factoryClass' => 'IMT\YiiAssetic\SmthFilterFactory', // some options that will be passed to the filter factory ), // more filters ), // ... ), // ... ), // ... );
workers
一个键值对数组:键是别名,值是类名。
return array( // ... 'components' => array( 'assetManager' => array( 'class' => 'IMT\YiiAssetic\AssetManager', 'workers' => array( 'smth' => 'IMY\YiiAssetic\SmthWorker', // more workers ), // ... ), // ... ), // ... );
ClientScript
每个用户定义的包都有以下新属性
filtersByExt
一个映射,定义了文件扩展名和过滤器之间的关系。如果没有指定,将使用在AssetManager
下定义的filtersByExt
属性。
combineTo
确定资源是否将合并成一个资源。实际上它是一个文件名,应省略文件扩展名。
return array( // ... 'components' => array( 'clientScript' => array( 'class' => 'IMT\YiiAssetic\ClientScript', 'packages' => array( 'smth' => array( 'basePath' => 'application.js.src.smth', 'css' => array( 'css/file.css', 'css/file2.css', ), 'filtersByExt' => array( 'css' => array('css_rewrite'), ), 'combineTo' => 'smth', ), // more packages ), // ... ), // ... ), // ... );
测试
$ make test
贡献
有关详细信息,请参阅CONTRIBUTING。
鸣谢
许可
此扩展在MIT许可下发布。有关完整的许可证信息,请参阅与源代码一起分发的LICENSE
文件。