ZF-6029: Zend FrameWork can not be Zend Guard?


Zend Guard General Information

Obfuscator Types: Variables,Functions,Classes,Apply selections to php built in symbols,are selected.

run error

Fatal error: Class bylgomn13wva257l30a49pyvhm6jr876xycqi6h09p2nsljhx contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (IteratorAggregate::getIterator) in D:\web\apmxe\www\fiveoauser\library\Zend\Controller\Action\HelperBroker\PriorityStack.php on line 0

The following is a test source code,source code is Zend Studio for Eclipse - 6.1.1 generated. <?php

/** * IndexController - The default controller class * * @author * @version */

require_once 'Zend/Controller/Action.php';

class IndexController extends Zend_Controller_Action { /** * The default action - show the home page */ public function indexAction() { echo "test"; } }


This is not a problem of Zend_Framework. We tried also in past with Zend_Guard and had to switch to ioncube encoder which had no problems with ZF.

It's a shame but it seems like Zend_Guard does not completly resolve the obfuscated class names in some cases of inclusion.

I agree with Thomas . I tried with Zend Guard 5.0.1 and Zend Studio 6.1.1 and Zend Framework 1.7.8 (latest version at today), But I can not reproduce this issue.

It can be a issue of

  • Used Zend_Guard version
  • Used Zend_Framework release
  • Used OS
  • Used PHP release
  • Used configuration settings for Zend_Guard

In past, with ZF 1.5, I was able to track down the problems and finally solve them for Zend_Guard and the releases we were using (even if we switched the encoder).

Eigther way... when the reporter is not able to track down the problem I see no chance to reproduce this as it seems completly version/OS depending.

Today I retried but I can not reproduce this report with following.

Zend Framework revison - 14667 from trunk (05/April/2009) Zend Guard 5.0.1 Target Optimizer - 3.3.0 Delete phpdoc block - No Delete line number - No hard to read variables - No hard to read functions - No hard to read classes - No Windows XP Service Pack2

Maybe I got something wrong. From the description I learned that the File \Zend\Controller\Action\HelperBroker\PriorityStack.php is affected. I also experienced this Issue with Zend Guard and Zend Framework. If obfuscation type 'Classes' is checked dynamic calls to Classes are not Possible any more. For instance routines like $class = "Some_Class_" . ucfirst( strtolower ( $type; ) ); $obj = new $class(); will fail. In terms of ZF calls to action helpers will fail due to the plugin loader.

Kind regards, Chris