Comments (2)
Thanks Tom! Your PHP knowledge is impressive (and you fast responses are appreciated).
Here's my attempt at creating those two (example) methods:
/**
* @method static self companyA()
* @method static self companyB()
* @method static self companyC()
* @method static self companyAandC()
*/
final class CompanyEnum extends Enum
{
protected static function obsolete(): array
{
return [
'companyA' => 'merged with company C',
'companyC' => 'merged with company A',
];
}
public static function toObsolete() {
return method_exists(__CLASS__,'obsolete') ? self::obsolete() : [];
}
public static function toValidValues() {
return array_values( array_diff(
self::toValues(),
array_keys(self::toObsolete())
) );
}
}
from laravel-enum.
Hey,
the only way would be the @deprecated
doc-tag - but this doesn't accept arguments and as we use magic methods you can't attach it to a real method.
https://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_tags.deprecated.pkg.html
With PHP8.1 this will be possible as you have a real case COMPANY_A
you can add a doc-tag to.
But you can add these two static methods you named your own to the enum in question and do some array_filter
, array_diff
or whatever logic to reduce it to the ones you want there.
from laravel-enum.
Related Issues (20)
- BadMethodCallException: There's no value Some College defined for enum App\Domain\Admission\Enums\HighestEducationEnum, consider adding it in the docblock definition. in ..vendor\spatie\enum\src\Enum.php:157 HOT 1
- Support livewire 3 HOT 5
- Validation throwing errors Livewire v3 HOT 2
- How to set default attribute value for a model like status = draft? HOT 2
- Translator Class not found inside labels method HOT 4
- getting error Laravel folder not found HOT 4
- Unable to groupBy a Collection Using an Enum as a Criteria when Casting HOT 2
- Creating New Model - No Value Defined for Enum HOT 4
- I cant do new model() HOT 2
- use Laravel Enum in combination with database migration (and: how to list possible values) HOT 5
- Form request validated data is not casted to enum HOT 3
- Custom validation message for EnumValue HOT 2
- Validation message not resolved when using 'enum:' rule instead of EnumRule HOT 1
- Not nullable enums break Laravel Nova create resource HOT 3
- EnumRule issue with different Enums, same value HOT 1
- Minor documentation issue HOT 1
- v1 => v2 and v2 => v3 upgrade guides HOT 2
- How to use FakerEnumProvider? HOT 3
- Compatibility issue with Laravel 10 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-enum.