brickrouge/css-class-names

支持CSS类名的API。

v2.0 2014-01-26 11:54 UTC

This package is auto-updated.

Last update: 2024-08-24 03:35:25 UTC


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_classcss_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命令生成包及其依赖的文档。文档使用ApiGendocs目录中生成。可以使用make clean命令清理包目录。

测试

使用make test命令运行测试套件。自动安装了Composer以及运行套件所需的所有依赖项。可以使用make clean命令清理包目录。

此包由Travis CI持续测试。

Build Status

许可协议

Brickrouge/CSSClassNames遵循新BSD许可协议 - 详细内容请参阅LICENSE文件。