TomasVotruba / bladestan

PHPStan analysis for Blade templates
https://tomasvotruba.com/blog/introducing-bladestan-phpstan-analysis-of-blade-templates/
MIT License
280 stars 13 forks source link

Problems with enums #89

Open rabol opened 9 months ago

rabol commented 9 months ago

while using a enum in a blade I get this

Parameter #1 (App\Enums\PlaceholderTypeEnum::Checkbox) of echo cannot be converted to string.

it is uses like this:

<x-native-select
        label="{{ __('Select type') }}"
        wire:model="placeholders.{{ $key }}.type"
        placeholder="{{ __('Select type') }}">
    <option value="">{{ __('Select type') }}</option>
    <option value="{{PlaceholderTypeEnum::Checkbox }}">{{ __('Checkbox') }}</option>
    <option value="{{PlaceholderTypeEnum::Number }}">{{ __('Number') }}</option>
    <option value="{{PlaceholderTypeEnum::Date }}">{{ __('Date') }}</option>
    <option value="{{PlaceholderTypeEnum::Today}}">{{ __('Today') }}</option>
    <option value="{{PlaceholderTypeEnum::Text }}">{{ __('Text') }}</option>
    <option value="{{PlaceholderTypeEnum::Email }}">{{ __('Email') }}</option>
    <option value="{{PlaceholderTypeEnum::Signature }}">{{ __('Signature') }}</option>
    <option value="{{PlaceholderTypeEnum::Decimal }}">{{ __('Decimal') }}</option>
    <option value="{{PlaceholderTypeEnum::YesNo }}">{{ __('YesNo') }}</option>
    <option value="{{PlaceholderTypeEnum::UploadPDF }}">{{ __('Upload pdf') }}</option>
    <option value="{{PlaceholderTypeEnum::UploadImage }}">{{ __('Upload image') }}</option>
  </x-native-select>
AJenbo commented 9 months ago

Laravel/Blade it self still have many in accurate type hints. You can get around this one by using the value manually:


    <option value="{{PlaceholderTypeEnum::Today->value}}">{{ __('Today') }}</option>
    <option value="{{PlaceholderTypeEnum::Text->value }}">{{ __('Text') }}</option>
    <option value="{{PlaceholderTypeEnum::Email->value }}">{{ __('Email') }}</option>