国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP 在屬性中使用 ENUM
P粉593118425
P粉593118425 2023-08-26 23:17:00
[PHP討論組]
<p>看下面的代碼:</p> <pre class="brush:php;toolbar:false;">&lt;?php enum Types:string { case A = 'a'; case B = 'b'; } #[Attribute(Attribute::TARGET_CLASS)] class MyAttribute { public function __construct(public readonly array $mapping) { } } #[MyAttribute(mapping: [Types::A-&gt;value =&gt; ''])] class Entity { } </pre> <p>有錯(cuò)誤 <code>常量表達(dá)式包含無(wú)效操作</code>。我想在我的屬性中使用枚舉值來(lái)定義配置。看起來(lái)這是 php 中的錯(cuò)誤。應(yīng)該報(bào)告還是什么?</p>
P粉593118425
P粉593118425

全部回復(fù)(1)
P粉536532781

問題是,當(dāng)我們調(diào)用 Types::A->value 時(shí),它??實(shí)際上創(chuàng)建了一個(gè)枚舉的實(shí)例,它不是一個(gè)常量值。 為了解決這個(gè)問題,定義一個(gè)常量并引用它。

<?php

abstract class Type {
    public const A = 'a';
    public const B = 'b';
}

enum TypesEnum:string {
    case A = Type::A;
    case B = Type::B;
}

#[Attribute(Attribute::TARGET_CLASS)]
class MyAttribute {
    public function __construct(public readonly array $mapping)
    {
    }
}

#[MyAttribute(mapping: [Type::A => ''])]
class Entity {

}

注意這個(gè)php 中的問題

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)