Importante: Zend Loader

No livro Desenvolvendo Sistemas com Flex e PHP, mais exatamente nos códigos onde usamos o Zend Framework, criamos no início do arquivo uma forma de carregar automaticamente as bibliotecas do Zend Framework. O código que faz isso é exibido a seguir:

require_once ‘Zend/Loader.php’;

Zend_Loader::registerAutoload();

Com a evolução do Zend Framework, essa chamada está sendo descontinuada, sendo subistituida por:

 

require_once ‘Zend/Loader/Autoloader.php’;
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);

Então caso tenha problemas com a primeira forma, utilize a segunda.

28 ideias sobre “Importante: Zend Loader

  1. Olá,

    o pacote zend esta aparecendo alguns erros como

    Parse error: syntax error, unexpected T_ARRAY, expecting ‘&’ or T_VARIABLE in C:\xampp\htdocs\ExemploHttpService\bin-debug\Zend\Loader\Autoloader.php on line 166

    Fatal error: Class ‘Zend_Loader_Autoloader’ not found in C:\xampp\htdocs\ExemploHttpService\bin-debug\dados.php on line 4

    como resolver isso?

  2. Substitua as duas linhas :

    require_once ‘Zend/Loader.php’;
    Zend_Loader::registerAutoload();

    POR QUE VAI RESOLVER:

    require_once ‘Zend/Loader/Autoloader.php’;
    $loader = Zend_Loader_Autoloader::getInstance();
    $loader->registerNamespace(‘App_’);

    $loader->setFallbackAutoloader(true);
    $loader->suppressNotFoundWarnings(false);

  3. pessoal eu coloquei estas duas linha
    mas da o erro abaixo alguem pode me ajudar

    require_once “Zend/Loader.php”;

    Zend_Loader::registerAutoload();

    ————————————————

    (mx.messaging.messages::ErrorMessage)#0
    body = (Object)#1
    clientId = (null)
    correlationId = “450BD996-3F0E-3A33-F8A3-2444BB2D9FBE”
    destination = “”
    extendedData = (null)
    faultCode = “Client.Error.DeliveryInDoubt”
    faultDetail = “Channel disconnected before an acknowledgement was received”
    faultString = “Channel disconnected”
    headers = (Object)#2
    messageId = “1EA346B8-F48B-9424-8768-2444BC6334FC”
    rootCause = (null)
    timestamp = 0
    timeToLive = 0

  4. ola daniel eu configurei conforme o livro eu estou perdido sobre a configuração do zend baxei a ultima versão quando eu coloco na pasta public_html e vou editar o arquivo server.php
    estou em duvida sobre a configuração pois no zend tem arquivo Loader se eu deixar conforme em baixo da este erro estou usando o wampserver local na maquina via localhost vc tem ideia do que pode ser pois o flex nao da nenhum erro sobre o arquivo services-config.xml ele esta apontado certinho.

    ———————————————-
    //Adiciona o autoloader do Zend Framework
    require_once “Zend/Loader/Autoloader.php”;
    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
    ————————————————

  5. fiz um teste do ZendAMF-1.9.5
    http://localhost/testezend/tests/AllTests.php

    olha o erro
    Warning: require_once(PHPUnit/Framework.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\testezend\tests\TestHelper.php on line 26

    Fatal error: require_once() [function.require]: Failed opening required ‘PHPUnit/Framework.php’ (include_path=’.;C:\php5\pear’) in C:\wamp\www\testezend\tests\TestHelper.php on line 26

  6. Estou fazendo o exemplo pagina 213, onde vc manda fazer um test com o amf para chamar a classe ZendFunction e o metodo GetVersion. O problema quando chamdo no amf , na aba result da este errp abaixo. Alguem sabe informar. Alias Parabens pelo livro.

    (Object)#0
    message = “faultCode:INVALID_AMF_MESSAGE faultString:’Invalid AMF message’ faultDetail:’
    Fatal error: Class ‘ ZendFunctions’ not found in C:\aplicacaoBase\public_html\amfphp\services\ServerClass.php on line 22
    ‘”
    name = “Error”
    rootCause = (null)

  7. ola daniel vc tem algum exemplo de codigo para gravar valor monetario atravez do flex, estou tendo uma dificuldade de gravar valor R$ meu campo float (10,5)quando gravo sai errado vc tem algum modelo?

  8. quando vou fazer update na locadora aparece esta mensagem

    (mx.messaging.messages::ErrorMessage)#0
    body = (Object)#1
    clientId = (null)
    correlationId = “FFCEEFBA-5E9F-D02B-64EC-E60830EE04AC”
    destination = “”
    extendedData = (null)
    faultCode = “Client.Error.DeliveryInDoubt”
    faultDetail = “Channel disconnected before an acknowledgement was received”
    faultString = “Channel disconnected”
    headers = (Object)#2
    messageId = “D4B78F8E-3398-444F-4388-E60831A5B6CE”
    rootCause = (null)
    timestamp = 0
    timeToLive = 0

  9. Olá valter, podem ser diversos motivos. Veja se existe algum erro de PHP (acesse o log), ou se está acessando o sistema de localhost, se o services-config está apontando para o gateway correto.

    se nao der zipa e me manda (daniel.schmitz@hotmail.com) que eu te ajudo a achar o problema. Abraços, Daniel

  10. Olá Daniel,
    Fiz o exemplo do capítulo cinco mas, aparece o seguinte erro quando tento verificar a versão do Zend:
    (mx.rpc::Fault)#0
    errorID = 0
    faultCode = “Client.Error.DeliveryInDoubt”
    faultDetail = “Channel disconnected before an acknolwedgement was received”
    faultString = “Channel disconnected”
    message = “faultCode:Client.Error.DeliveryInDoubt faultString:’Channel disconnected’ faultDetail:’Channel disconnected before an acknolwedgement was received’”
    name = “Error”
    rootCause = (null)

  11. Daniel,

    Por favor, se puder ajudar nessa organização incial, peço uma lista do que precisa ser baixado e instalado na maquina, além do FLEX e WAMP.

    obrigado

    Marcos

  12. Ola!
    Na maquina local funciona perfeitamente, agora que mandei para o servidor para testar esga me aparecendo esta mensagem.
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /www/belo337/public_html/pesquisa/php/gateway.php on line 7

    aqui está o script

    setFallbackAutoloader(true);

    //Instancia o servidor Zend_AMF
    $server = new Zend_Amf_Server();

    //Habilita o modo de desenvolvimento, retornando
    // mensagens de erro. Comente esta linha quando
    // estiver em modo de produção
    $server->setProduction(false);

    //Adiciona este diretorio como um diretorio de
    // classes que podem ser usadas pelo Flex
    $server->addDirectory(dirname(__FILE__));

    //Dependendo da requisição do Flex, irá
    // chamar a classe correspondente, respondendo
    // em formato AMF o que a classe responder.
    echo $server->handle();

    //não precisa fechar a tag PHP.
    // É uma prática recomendada pela Zend!

  13. Daniel executei o codigo fonte do livro e deu esse erro:

    (mx.messaging.messages::RemotingMessage)#0
    body = (Array)#1
    clientId = (null)
    destination = “”
    headers = (Object)#2
    messageId = “FB332683-2BBB-008E-F61C-90F59ECDAA32″
    operation = “Say”
    source = “HelloWorld”
    timestamp = 0
    timeToLive = 0

    Não consigo imaginar o que pode ser… HELP?!

  14. Resolvi meu problema fazendo a engenharia reversa:

    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(false);

    Meu problema na verdade era outro, uso uma classe DOMPDF para impressão de pdfs e ficava causando erro de warning e nenhum arquivo abria. Verificando o log de erros vi que a função anterior que estava

    Zend_Loader::registerAutoload(‘Zend_Loader’, false);

    não funciona para zf 1.8 >=

    E aí deu certo o que citei acima.

    Valeu!

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>