brickrouge / css-class-names
支持CSS类名的API。
v2.0
2014-01-26 11:54 UTC
Requires
- php: >=5.4.0
README
支持CSS类名的API。
辅助工具
<?php namespace Brickrouge; $class_names = [ 'node-id' => 'node-id-13', 'node-slug' => 'node-slug-example', 'is-active' => true, 'is-disabled' => false ]; render_css_class($class_names) // "node-id-13 node-slug-example is-active" render_css_class($class_names, [ 'node-id', 'is-active', 'is-disabled' ]); // "node-id-13 is-active" render_css_class($class_names, 'node-id is-active is-disabled'); // "node-id-13 is-active" render_css_class($class_names, [ '-node-id', '-node-slug' ]); // "is-active" render_css_class($class_names, '-node-id -node-slug'); // "is-active"
CSSClassNames 和 CSSClassNamesProperty
实现CSSClassNames
接口的类可能希望使用提供对css_class
和css_class_names
魔术属性支持的CSSClassNamesProperty
特质。
<?php namespace Icybee\Modules\Nodes; use Brickrouge\CSSClassNames; use Brickrouge\CSSClassNamesProperty; // … class Node extends ActiveRecord implements CSSClassNames { use CSSClassNamesProperty; // … /** * Returns the CSS class names of the node. * * @return array[string]mixed */ protected function get_css_class_names() { $nid = $this->nid; $slug = $this->slug; return [ 'type' => 'node', 'id' => $nid ? "node-{$nid}" : null, 'slug' => $slug ? "node-slug-{$slug}" : null, 'constructor' => 'constructor-' . \ICanBoogie\normalize($this->constructor) ]; } }
此类Node
的实例可以如下使用
<?php // … $node->css_class; // node node-123 node-slug-example constructor-nodes $node->css_class_names; // [ 'type' => node, 'id' => 'node-123', 'slug' => 'node-slug-example', 'constructor' => 'constructor-nodes' ] $node->css_class('-slug -constructor'); // node node-123 $node->css_class('id slug'); // node-123 node-slug-example
要求
此包需要PHP 5.4或更高版本。
安装
安装此包的推荐方法是使用Composer。创建一个composer.json
文件并运行php composer.phar install
命令来安装它
{ "minimum-stability": "dev", "require": { "brickrouge/css-class-names": "*" } }
克隆仓库
此包可在GitHub上找到,其仓库可以使用以下命令行进行克隆
$ git clone git://github.com/Brickrouge/CSSClassNames.git
文档
可以使用make doc
命令生成包及其依赖的文档。文档使用ApiGen在docs
目录中生成。可以使用make clean
命令清理包目录。
测试
使用make test
命令运行测试套件。自动安装了Composer以及运行套件所需的所有依赖项。可以使用make clean
命令清理包目录。
此包由Travis CI持续测试。
许可协议
Brickrouge/CSSClassNames遵循新BSD许可协议 - 详细内容请参阅LICENSE文件。