Compare commits

...

3 commits

Author SHA1 Message Date
ba3f43a9e2 fix: use global namespace for ValueError (#5)
Fixes exception:
```
Error: Class "vlw\ValueError" not found
```

Reviewed-on: https://codeberg.org/vlw/php-xenum/pulls/5
2025-05-10 11:28:03 +00:00
vlw
1c997a5574 chore: package namespace change (#4)
Reviewed-on: https://codeberg.org/vlw/php-xenum/pulls/4
Co-authored-by: vlw <victor@vlw.se>
Co-committed-by: vlw <victor@vlw.se>
2024-12-02 10:36:32 +00:00
8972f06f42
fix(doc): correct Enum names in README 2023-11-20 11:10:39 +01:00
3 changed files with 12 additions and 12 deletions

View file

@ -7,7 +7,7 @@ This library adds a few useful traits to your PHP Enums that compliment existing
For example, For example,
```php ```php
use \victorwesterlund\xEnum; use vlw\xEnum;
enum HelloWorld: string { enum HelloWorld: string {
use xEnum; use xEnum;
@ -28,12 +28,12 @@ Requires PHP 8.0 or newer
1. **Install from composer** 1. **Install from composer**
``` ```
composer require victorwesterlund/xenum composer require vlw/xenum
``` ```
2. **`use` in your project** 2. **`use` in your project**
```php ```php
use \victorwesterlund\xEnum; use vlw\xEnum;
``` ```
3. **`use` with your Enums** 3. **`use` with your Enums**
@ -76,7 +76,7 @@ enum HelloWorld: string {
case BAZ = "QUX"; case BAZ = "QUX";
} }
HelloWorld::fromName("BAR"); // HelloWorld::FOO HelloWorld::fromName("FOO"); // HelloWorld::FOO
HelloWorld::fromName("MOM") // ValueError: 'MOM' is not a valid case for HelloWorld HelloWorld::fromName("MOM") // ValueError: 'MOM' is not a valid case for HelloWorld
``` ```
@ -100,7 +100,7 @@ enum HelloWorld: string {
case BAZ = "QUX"; case BAZ = "QUX";
} }
HelloWorld::tryFromName("BAR"); // HelloWorld::FOO HelloWorld::tryFromName("FOO"); // HelloWorld::FOO
HelloWorld::tryFromName("MOM") // null HelloWorld::tryFromName("MOM") // null
``` ```

View file

@ -1,18 +1,18 @@
{ {
"name": "victorwesterlund/xenum", "name": "vlw/xenum",
"description": "PHP eXtended Enums. The missing quality-of-life features from PHP 8+ Enums", "description": "PHP eXtended Enums. The missing quality-of-life features from PHP 8+ Enums",
"type": "library", "type": "library",
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"authors": [ "authors": [
{ {
"name": "Victor Westerlund", "name": "Victor Westerlund",
"email": "victor.vesterlund@gmail.com" "email": "victor@vlw.se"
} }
], ],
"minimum-stability": "dev", "minimum-stability": "dev",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"victorwesterlund\\": "src/" "vlw\\": "src/"
} }
}, },
"require": {} "require": {}

View file

@ -1,11 +1,11 @@
<?php <?php
namespace victorwesterlund; namespace vlw;
/* /*
PHP eXtended Enums. PHP eXtended Enums.
The missing quality-of-life features from PHP 8+ Enums. The missing quality-of-life features from PHP 8+ Enums.
https://github.com/victorwesterlund/php-xenum https://codeberg.org/vlw/php-xenum
*/ */
trait xEnum { trait xEnum {
// Resolve enum case from enum name or return null // Resolve enum case from enum name or return null
@ -23,7 +23,7 @@
// Throw a ValueError if Enum name is not found // Throw a ValueError if Enum name is not found
public static function fromName(?string $name): static { public static function fromName(?string $name): static {
$case = self::tryFromName($name); $case = self::tryFromName($name);
return $case ? $case : throw new ValueError("'{$name}' is not a valid case for enum " . self::class); return $case ? $case : throw new \ValueError("'{$name}' is not a valid case for enum " . self::class);
} }
// Return array of enum names // Return array of enum names