PHP code example of petrknap / optional

1. Go to this page and download the library: Download petrknap/optional library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

petrknap / optional example snippets


use PetrKnap\Optional\Optional;

/** @var Optional<string> $stringOption */
$stringOption = Optional::of('data');
if ($stringOption->isPresent()) {
    echo $stringOption->get();
}

Optional::ofFalsable(tmpfile())->ifPresent(function ($tmpFile): void {
    fwrite($tmpFile, 'data');
    fclose($tmpFile);
}, else: fn () => print('tmpfile() failed'));

   use PetrKnap\Optional\Optional;
   use PetrKnap\Optional\NonGenericOptional;

   /** @extends Optional<bool> */
   final class OptionalBool extends Optional
   {
       use NonGenericOptional;

       protected static function isSupported(mixed $value): bool
       {
           return is_bool($value);
       }
   }
   

use PetrKnap\Optional\TypedOptional;
use PetrKnap\Optional\Optional;

TypedOptional::register(OptionalBool::class);

printf(
    "Class name of optional which holds `true` is `%s`.\n",
    get_class(Optional::of(true)),
);