note 127105 added to language.types.enumerations

From: Date: Mon, 16 May 2022 14:07:08 +0000
Subject: note 127105 added to language.types.enumerations
Groups: php.notes 
Request: Send a blank email to php-notes+get-218476@lists.php.net to get a copy of this message
https://gist.github.com/esdras-schonevald/71a6730e6191c5e9c053e2f65b839eec <?php declare(strict_types=1); /** * This is a sample * How to use Enum to create a custom exception cases * PHP 8.1^ */ enum MyExceptionCase { case InvalidMethod; case InvalidProperty; case Timeout; } class MyException extends Exception { function __construct(private MyExceptionCase $case){ match($case){ MyExceptionCase::InvalidMethod => parent::__construct("Bad Request - Invalid Method", 400), MyExceptionCase::InvalidProperty => parent::__construct("Bad Request - Invalid Property", 400), MyExceptionCase::Timeout => parent::__construct("Bad Request - Timeout", 400) }; } } // Testing my custom exception class try { throw new MyException(MyExceptionCase::InvalidMethod); } catch (MyException $myE) { echo $myE->getMessage(); // Bad Request - Invalid Method } ---- Server IP: 45.112.84.4 Probable Submitter: 185.85.3.47 (proxied: 191.193.165.64) ---- Manual Page -- https://php.net/manual/en/language.types.enumerations.php Edit -- https://main.php.net/note/edit/127105 Del: integrated -- https://main.php.net/note/delete/127105/integrated Del: useless -- https://main.php.net/note/delete/127105/useless Del: bad code -- https://main.php.net/note/delete/127105/bad+code Del: spam -- https://main.php.net/note/delete/127105/spam Del: non-english -- https://main.php.net/note/delete/127105/non-english Del: in docs -- https://main.php.net/note/delete/127105/in+docs Del: other reasons-- https://main.php.net/note/delete/127105 Reject -- https://main.php.net/note/reject/127105 Search -- https://main.php.net/manage/user-notes.php

« previous php.notes (#218476) next »