2015-04-02 4 views
1

может кто-нибудь, пожалуйста, совет, как я могу var_dump() объект Zend_Application?Zend Framework 1 объект var_dump внутри объекта

object(Bootstrap)[3] 
public 'frontController' => null 
protected '_appNamespace' => boolean false 
protected '_resourceLoader' => null 
    protected '_application' => 
    object(Zend_Application)[1] 
     protected '_autoloader' => 
     object(Zend_Loader_Autoloader)[2] 
      protected '_autoloaders' => 
       array (size=0) 
... 

Я могу var_dump объекта Bootstrap с var_dump($this->bootstrap('view'));, но я не могу понять, как var_dump вложенного объекта Zend_Application.

Большое спасибо заранее.

+0

Вот еще один вопрос, почему вы хотите сделать это ?? Это защищенный объект, вы не можете напрямую ** var_dump ** его. –

+0

@Indrasinh Bihola Получил это. Благодарю. В основном я хотел понять, как var_dump объект внутри объекта. Я не знал, что нельзя напрямую защитить защищенные объекты var_dump. Вы сказали, что не можете var_dump его напрямую. Есть ли «косвенный» способ для var_dump объекта Zend_Application? –

ответ

1

Прежде всего, в Zend Framework 1, вы можете/должны использовать:

Zend_Debug::dump($whatever); 

Вместо:

var_dump($whatever); 

Вы можете сбросить приложения, но это не даст вам все. Вы можете изменить index.php добавив:

Zend_Debug::dump($application); 

После:

$application->bootstrap() 
      ->run(); 

Самое главное здесь, чтобы никогда не забыть ZF является открытым исходным кодом, и вы можете очень многое пойти в код, чтобы посмотреть на него, drop Zend_Debug :: dump() где угодно, чтобы вы могли делать то, что хотите. Просто верните zend-файлы обратно к оригиналу после того, как вы закончите.

Последний вопрос: возможно или даже возможно, что вам не нужно сбрасывать приложение zend таким образом. Я не знаю, что не так в вашем коде, но сомнительно, что его «действительно» проблема с zend. При чтении объекта приложения в вашем распоряжении должны быть загрузочные бутстрапы и zend's mvc.

Надеюсь, это поможет!

Дориан М. добавил: Вы также можете расширить объект Zend, чтобы добавить дамп в своей собственной функции и не испортить исходный код

+1

вы также можете расширить объект Zend, чтобы добавить дамп в свою собственную функцию и не испортить исходный код;) –

+0

@Iznogood Спасибо за ваши отзывы. Это помогло мне лучше понять процесс самозагрузки Zend. –

+0

@DorianM Действительно! Иногда это может быть довольно сложно. Различные Zendobjects ожидают определенные объекты, и ваши производные классы иногда просто не режут. Но да, конечно. Очень хорошая идея. Я добавлю свой комментарий к моему ответу. С кредитом, конечно. – Iznogood

0

Если вам нужны var_dump() для тестовых кодов, я рекомендую вам использовать тестовые функции с phpUnit. это больше преимуществ.