克拉克沃/laravel-bit-flag

此包已被弃用,不再维护。未建议替代包。

Laravel 对 karkowg/bit-flag 的支持

v1.0.0 2022-04-26 21:24 UTC

This package is auto-updated.

Last update: 2024-05-03 19:40:53 UTC


README

BitFlag code snippet

Laravel BitFlag

Latest Version on Packagist GitHub Tests Action Status License Total Downloads

此包为 karkowg/bit-flag 提供Laravel支持。

需要 PHP 7.4Laravel 8.x

⚡️ 安装

composer require karkowg/laravel-bit-flag

用法

<?php

namespace App\BitFlags;

use Karkow\BitFlag\Laravel\BitFlag;

class CartStatus extends BitFlag
{
    private const CHECKED_OUT = 1 << 0;
    private const PAYED = 1 << 1;
    private const SHIPPED = 1 << 2;

    // ... other setters/getters

    public function markAsPayed(): self
    {
        return $this->set(self::PAYED);
    }

    public function hasBeenPayed(): bool
    {
        return $this->has(self::PAYED);
    }
}


// App\Services\CartService

$cartStatus = CartStatus::make();

if ($paymentSuccessful) {
    $cartStatus->markAsPayed();
}

$cartStatus->hasBeenPayed(); //? true

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近的变化。

致谢

许可证

MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。