note 85890 added to function.create-function

From: Date: Tue, 23 Sep 2008 14:48:48 +0000
Subject: note 85890 added to function.create-function
Groups: php.notes 
Request: Send a blank email to php-notes+get-144636@lists.php.net to get a copy of this message
Workaround is as follows: class Foo { function setHandler($handlerName, $handlerCode) { $this->handlerFunctions[$handlerName] = create_function('&$self, $dataArr', $handlerCode); // NOTE: $this not allowed here, using $self as replacement } function executeHandler($handlerName, $dataArr) { if($this->handlerFunctions[$handlerName]) { $this->handlerFunctions[$handlerName](&$this, $dataArr); } } function getConstantInfo($what) { return($what); } } $bla = new Foo; $bla->setHandler("load", 'echo($self->getConstantInfo("name")."\n");'); $bla->executeHandler("load", array("foo" => "bar")); ---- Server IP: 217.160.72.57 Probable Submitter: 85.115.3.230 ---- Manual Page -- http://www.php.net/manual/en/function.create-function.php Edit -- https://master.php.net/note/edit/85890 Del: integrated -- https://master.php.net/note/delete/85890/integrated Del: useless -- https://master.php.net/note/delete/85890/useless Del: bad code -- https://master.php.net/note/delete/85890/bad+code Del: spam -- https://master.php.net/note/delete/85890/spam Del: non-english -- https://master.php.net/note/delete/85890/non-english Del: in docs -- https://master.php.net/note/delete/85890/in+docs Del: other reasons-- https://master.php.net/note/delete/85890 Reject -- https://master.php.net/note/reject/85890 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#144636) next »