Explorar el Código

ZF-6939: simply use is_callable() to determine if a valid callback was provided

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15915 44c647ce-9c0f-0410-b52a-842ac1e357ba
matthew hace 16 años
padre
commit
2272ac3961

+ 2 - 10
library/Zend/Form/Decorator/Callback.php

@@ -59,24 +59,16 @@ class Zend_Form_Decorator_Callback extends Zend_Form_Decorator_Abstract
     /**
      * Set callback
      * 
-     * @param  string|array $callback 
+     * @param  callback $callback 
      * @return Zend_Form_Decorator_Callback
      * @throws Zend_Form_Exception
      */
     public function setCallback($callback)
     {
-        if (!is_string($callback) && !is_array($callback)) {
+        if (!is_callable($callback)) {
             require_once 'Zend/Form/Exception.php';
             throw new Zend_Form_Exception('Invalid callback provided to callback decorator');
         }
-
-        if (is_array($callback)) {
-            if (2 !== count($callback)) {
-                require_once 'Zend/Form/Exception.php';
-                throw new Zend_Form_Exception('Invalid method callback provided to callback decorator');
-            }
-        }
-
         $this->_callback = $callback;
         return $this;
     }

+ 0 - 3
tests/Zend/Form/Decorator/CallbackTest.php

@@ -5,11 +5,8 @@ if (!defined("PHPUnit_MAIN_METHOD")) {
 }
 
 require_once dirname(__FILE__) . '/../../../TestHelper.php';
-require_once "PHPUnit/Framework/TestCase.php";
-require_once "PHPUnit/Framework/TestSuite.php";
 
 require_once 'Zend/Form/Decorator/Callback.php';
-
 require_once 'Zend/Form/Element.php';
 
 /**