cjstroud/classnames-php

一个简单的PHP工具,用于条件性地连接classNames

1.0.0 2017-04-29 22:14 UTC

This package is not auto-updated.

Last update: 2024-09-25 02:01:32 UTC


README

Build Status

JavaScript classNames工具的PHP端口。 https://github.com/JedWatson/classnames

安装

composer require cjstroud/classnames-php

classNames可以在任何地方访问。

classNames('foo', ['bar' => true]); // 'foo bar'

用法

classNames函数可以接受任意数量的参数,这些参数可以是字符串或数组。当使用数组时,如果与给定键关联的值是假的,则该键不会包含在输出中。如果没有提供值,则默认为true。

classNames('foo'); // 'foo'
classNames(['foo' => true]); // 'foo'
classNames('foo', ['bar' => false, 'baz' => true]); // 'foo baz'
classNames(['foo', 'bar' => true]) // 'foo bar'

// Falsy values get ignored
classNames('foo', null, 0, false, 1); // 'foo 1'

对象和函数将被忽略,除非对象具有 __toString() 方法。如果存在,将调用该方法并使用字符串值。

class ExampleObject {
    function __toString()
    {
        return 'bar';
    }
}

classNames('foo', function() {}, new stdClass(), new ExampleObject()); // 'foo bar'

Laravel Blade

<div class="{{ classNames('foo', ['bar' => true]) }}"></div>

<div class="foo bar"></div>

许可证

MIT. 版权所有 (c) 2017 Chris Stroud。