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
namespace PetrKnap\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'));
namespace PetrKnap\Optional;
/**
* @extends Optional<Some\DataObject>
*/
class YourOptional extends Optional {
use NonGenericOptional;
protected static function isSupported(mixed $value): bool {
return $value instanceof Some\DataObject;
}
}
TypedOptional::register(YourOptional::class); // optional recommended step
function your_strong_typed_function(YourOptional $input): YourOptional {
return YourOptional::empty();
}
/**
* @param Optional<Some\DataObject> $input
*
* @return Optional<Some\DataObject>
*/
function your_weak_typed_function(Optional $input): Optional {
return YourOptional::empty();
}