mageekblog - Mot-clé - set_error_handlerLe blog personnel de Frédéric Hardy. Au menu, PHP, agilité, FreeBSD, cuisine et photographies.2021-12-02T08:20:54+01:00Frédéric Hardyurn:md5:26874ca5b8cd4cac8d08b0e68e64f63aDotclearTips !urn:md5:55146b21e27e3b2fa44177e00b91cfc32010-05-19T12:20:00+02:002010-05-19T12:20:00+02:00mageekguyPHPlamdaPHP 5.3set_error_handlerset_exception_handler <p>Je vais peut être passé pour un attardé, mais je viens de me rendre compte qu'il est tout à fait possible depuis <a href="http://www.php.net">PHP 5.3</a> de passer une fonction <a href="http://fr.php.net/manual/en/function.call-user-func-array.php">lambda</a> en argument à <a href="http://fr.php.net/manual/en/function.set-error-handler.php"><code>set_error_handler()</code></a> et <a href="http://fr.php.net/manual/en/function.set-exception-handler.php"><code>set_exception_handler()</code></a> :</p>
<blockquote><pre><code><?php<br />set_error_handler(<br /> function($value, $message, $file, $line, array $context) {<br /> fwrite(STDERR, $message);<br /> die($value);<br /> }<br />);<br />?><br /></code></pre></blockquote>
<p>Non, ce n'est pas du <a href="http://fr.wikipedia.org/wiki/JavaScript">javascript</a>, mais bien du <a href="http://www.php.net">PHP</a>.</p>
<p>Et je dois avouer que je trouve cette écriture bien plus <q>esthétique</q> que celle-ci, utilisée traditionnellement :
</p>
<blockquote><pre><code><?php<br />function errorHandler($value, $message, $file, $line, array $context)<br />{<br /> fwrite(STDERR, $message);<br /> die($value);<br />}<br /><br />set_error_handler(errorHandler);<br />?><br /></code></pre></blockquote>http://blog.mageekbox.net/?post/2010/05/19/Tips-%21#comment-formhttp://blog.mageekbox.net/?feed/atom/comments/128