2019. március 19., kedd

Gyorskeresés

PHP operátorkiegészítések

Írta: | Kulcsszavak: php . using . typeof . operator . operátorok

[ ÚJ BEJEGYZÉS ]

Hogy mire lesznek jók, majd elválik!

typeof

function typeof($variable) {
return \System\Type::Of($variable);
}

Ezzel semmi mást nem érek el, csak kicsit olvashatóbbá tehetem a kódomat, globális függvényeket egyébként nem szabad használni semmire sem szerintem, de ez jól jön.

// tudom, hogy nem kellene a teljes névtér
$this->_binders->Get(\System\Type::Of($cl->name))->BindModel($controller);

helyett

$this->_binders->Get(typeof($cl->name))->BindModel($controller);

using

function using(\System\IDisposable $source, $func) {
if (!is_callable($func)) {
throw new \BadFunctionCallException();
}

try {
$ret = $func($source);

$source->Dispose();

return $ret;
} catch (\Exception $exc) {
$source->Dispose();
throw $exc;
}
}

Semmi mást nem tudok vele kezdeni, mint használni egy erőforrást anélkül, hogy külön rá kellene néznem arra, hogy elengedi-e. Az adott erőforrásnak implementálnia kell az IDisposable interface-t, és már használható is:

$readedData = using(new \System\IO\FileStream("valami.txt"), function (\System\IO\FileStream $fs) {
return $fs->Read(100);
});

Tényleg nem tudom, élesben milyenek lesznek (főleg a második), de 1 perc volt összerakni, miért ne. :)

Hozzászólások

(#1) Athlon64+


Athlon64+
(őstag)

[ értesítő ]

További hozzászólások megtekintése...
Copyright © 2000-2019 PROHARDVER Informatikai Kft.