ecailles/dom-class-name
Composer 安装命令:
composer require ecailles/dom-class-name
包简介
A DOM class name generation library (BEM syntax class name builder etc.)
README 文档
README
Install via Composer
composer require ecailles/dom-class-name
Basic Usage
Block
use Ecailles\DomClassName\Bem\Bem; // 'block--block-modifier' $classname = (new Bem()) ->block('block')->modifier('block-modifier') ->value();
Element
use Ecailles\DomClassName\Bem\Bem; // 'block--block-modifier__element--element-modifier' $classname = (new Bem()) ->block('block')->modifier('block-modifier') ->element('element')->modifier('element-modifier') ->value();
Classes
use Ecailles\DomClassName\Bem\Bem; // 'block--block-modifier__element--element-modifier class1 class2' $classname = (new Bem()) ->block('block')->modifier('block-modifier') ->element('element')->modifier('element-modifier') ->class(['class1', 'class2']) ->value();
Return Value
Class names as array
use Ecailles\DomClassName\Bem\Bem; // ['block--block-modifier__element--element-modifier', 'class1', 'class2'] $classnames = (new Bem()) ->block('block')->modifier('block-modifier') ->element('element')->modifier('element-modifier') ->class(['class1', 'class2']) ->get();
Class names as string
use Ecailles\DomClassName\Bem\Bem; // 'block--block-modifier__element--element-modifier class1 class2' $classname = (new Bem()) ->block('block')->modifier('block-modifier') ->element('element')->modifier('element-modifier') ->class(['class1', 'class2']) ->value();
Class names as string (implicit type conversion)
use Ecailles\DomClassName\Bem\Bem; $bem = (new Bem())->block('block')->class('class'); // 'block class' echo htmlspecialchars($bem, ENT_QUOTES, 'UTF-8');
Explicit Modifiers
use Ecailles\DomClassName\Bem\Bem; // 'block--block-modifier__element--element-modifier' $classname = (new Bem()) ->blockModifier('block-modifier') ->elementModifier('element-modifier') ->block('block')->element('element') ->value();
Cloning (PHP 5.6 or earlier are also supported)
use Ecailles\DomClassName\Bem\Bem; $block = (new Bem())->block('block'); // 'block__element1' $element1 = $block->clone()->element('element1')->value(); // 'block__element2' $element2 = $block->clone()->element('element2')->value();
Prefixing
use Ecailles\DomClassName\Bem\Bem; // 'prefix-block' $classname = (new Bem())->prefix('prefix')->block('block')->value();
or
use Ecailles\DomClassName\Bem\Bem; // 'prefix-block' $classname = (new Bem('prefix'))->block('block')->value();
Custom Separators
Prefix Separator
use Ecailles\DomClassName\Bem\Bem; // 'prefix__block' $classname = (new Bem())->prefix('prefix')->prefixSeparator('__') ->block('block')->value();
or
use Ecailles\DomClassName\Bem\Bem; // 'prefix__block' $classname = (new Bem('prefix', '__'))->block('block')->value();
Element Separator
use Ecailles\DomClassName\Bem\Bem; // 'block-element' $classname = (new Bem())->elementSeparator('-') ->block('block')->element('element')->value();
or
use Ecailles\DomClassName\Bem\Bem; // 'block-element' $classname = (new Bem(null, null, '-')) ->block('block')->element('element')->value();
Modifier Separator
use Ecailles\DomClassName\Bem\Bem; // 'block-modifier' $classname = (new Bem())->modifierSeparator('-') ->block('block')->element('modifier')->value();
or
use Ecailles\DomClassName\Bem\Bem; // 'block-modifier' $classname = (new Bem(null, null, null, '-')) ->block('block')->modifier('modifier')->value();
统计信息
- 总下载量: 658
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-01-26