tautvydasr/blade-class-names

处理基于条件输出html类的包

1.3.1 2021-02-18 17:29 UTC

This package is auto-updated.

Last update: 2024-09-19 16:35:25 UTC


README

Build Status

这是一个简单的包,帮助处理blade模板中的条件html类。

注意: 如果使用Laravel 8或更高版本,请考虑使用原生的@class指令

安装

首先在composer中要求此包

composer require tautvydasr/blade-class-names

最后,将服务提供者添加到你的Laravel config/app.php文件中的providers数组

'providers' => [
    // ...
    ClassNames\ClassNamesServiceProvider::class,
    // ...
],

或者在Lumen中使用时,在bootstrap/app.php中注册服务提供者

...
$app->register(\ClassNames\ClassNamesServiceProvider::class);
...

使用

基本来说,该包允许你简化像这样的条件类情况

<a href="#" class="menu-item{{ $loop->first ? ' first-item' : '' }}{{ request()->routeIs('foo') ? ' active' : '' }}">
    ...
</a>

通过使用blade指令@classNames()变成这样。

<a href="#" class="@classNames('menu-item', ['first-item' => $loop->first, 'active' => request()->routeIs('foo')])">
    ...
</a>

对于Lumen用户,可以通过app()辅助器或外观访问。

<a href="#" class="app('classnames')->render('menu-item', ['first-item' => $loop->first, 'active' => request()->routeIs('foo')])">
    ...
</a>

<a href="#" class="\ClassNames\ClassNamesFacade::render('menu-item', ['first-item' => $loop->first, 'active' => request()->routeIs('foo')])">
    ...
</a>

使用外观方法时,确保在bootstrap/app.php文件中取消注释$app->withFacades();行。

本地设置

复制示例docker compose配置文件(可选)

cp docker-compose.yml.dist docker-compose.yml

运行docker容器(可选)

docker-compose up -d

登录到docker容器,其中CONTAINER_ID是你的ID(可选)

docker exec -ti CONTAINER_ID /bin/bash

使用composer安装依赖项

composer install

测试

运行phpunit测试

./vendor/bin/phpunit

许可证

该包免费使用,并受MIT许可证的许可。