Zend Framework: Невозможно отобразить тип документа или путь к таблице стилей; вместо этого выдает объект № объекта - PullRequest
1 голос
/ 21 февраля 2012

Я отправил свой проект Quickstart по FTP с компьютера с Windows на компьютер под управлением Linux, и я получаю неожиданные результаты от этих утверждений:

echo $this->doctype();
echo $this->headLink()->appendStylesheet('/css/main.css');

Мой вывод должен выглядеть следующим образом (Windows-машина):

<!DOCTYPE html>
<html lang="en">
<head>
    <link href="/css/main.css" media="screen" rel="stylesheet" type="text/css" >
    <title>Sample Zend app</title>
</head>
<body>
    <h1>This is my layout</h1>
    <p>This is index.phtml</p>
</body>
</html>

Это мой вывод из окна Linux:

Object id #37
<html lang="en">
<head>
    Object id #49
    <title>Sample Zend app</title>
</head>
<body>
    <h1>This is my layout</h1>
    <p>This is index.phtml</p>
</body>
</html>

Любая идея, почему мои операторы, повторяющие тип и путь к моей таблице стилей, производят Идентификатор объекта # xx ?

Заранее спасибо.

Также - я предоставил свой Boostrap, application.ini и макет:

Bootstrap.php:

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {

    protected function _initDocType() {
        $this->bootstrap('view');
        $view = $this->getResource('view');
        $view->doctype('HTML5');
    }
}

application.ini:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
resources.view[] = 
[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

layout.phtml:

<?php echo $this->doctype(); ?>
<html lang="en">
<head>
    <?php echo $this->headLink()->appendStylesheet('/css/main.css'); ?>
    <title>Sample Zend app</title>
</head>
<body>
    <h1>This is my layout/h1>
    <?php echo $this->layout()->content; ?>
</body>
</html>

1 Ответ

0 голосов
/ 22 февраля 2012

В документации php сказано, что __toString () работала по-другому до 5.2.Я бы обновил ваш php или вызвал бы функцию напрямую, например

$something->__toString();

см .: http://www.php.net/manual/en/language.oop5.magic.php#object.tostring

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...