Utilizando o PHP no Zope
Muitas pessoas acreditam que o Zope é algo como o PHP, ou substitiu o PHP. Estão equivocadas. Comparar o Zope ao PHP é como comparar um hotel (ZOPE) com um quarto do hotel (PHP).
Quem disse que não podemos usar o PHP no Zope?
Muitas pessoas acreditam que o Zope é algo como o PHP, ou substitiu o PHP. Estão equivocadas. Comparar o Zope ao PHP é como comparar um hotel (ZOPE) com um quarto do hotel (PHP). Veja esta compareção pelo excelente artigo de Luciano Ramalho:
"Hotel cinco estrelas: Quando nos pedem para
comparar Zope com ASP, gostamos de fazer uma analogia. Se ASP
é um restaurante, Zope é um hotel cinco estrelas
com vários
restaurantes, bares, piscina, sauna, barbeiro e diversos outros
serviços simplesmente inexistentes na ferramenta da Microsoft.
Em resumo, o Zope é uma plataforma completa para o desenvolvimento
das chamadas Web applications, ou sites 100% dinâmicos e
interativos."
Fonte: http://www.magnet.com.br/classic/byo/zope0.html
Para referenciar o PHP no Zope, iremos utilizar os produtos PHPParser/PHPGateWay. Eles podem ser encontrados em: http://zope.org/Members/hewei/PHParser
Existe muita documentação nesta página. Iremos resumir um pouco e mostrar alguns detalhes aqui. Lembre-se de visitar a página e ler mais a respeito, caso encontre alguma dúvida.
Obs: Você precisa do PHP rodando no seu servidor onde o Zope está. Instale o PHP em modo CGI.
O PHPParser é semelhante a um DTML Document. Quando você cria um objeto PHPParser, você pode utilizar <? echo "hello world"?>, gravar uma sessão, ou conectar em banco de dados.
O PHPGateway é uma espécie de Folder, que aponta para um diretório real de seu servidor (algo como /var/www/). Então você pode, por exemplo, "apontar" para o "PhpMyAdmin" do seu servidor.
Para instalar ambos os produtos, baixe o arquivo "PHParser- 1.1.0.tar.gz", disponível em http://zope.org/Members/hewei/PHParser, descompacte em <zopedir>/lib/python/Products e reinicie o seu Zope.
Veja que agora surge dois objetos na ZMI: PHPParser e PHPGateway. Vamos adicionar um PHPParser chamado "phptest". Veja que o conteúdo deste objeto possui o seguinte texto:
<dtml-var standard_html_header>
<?php
echo "<h2><dtml-var title_or_id> / {$ZOPE_VARS['BASE0']}
$PHP_SELF</h2>";
echo "<h2>PHParser extended global variables:
</h2><pre>$ZOPE_VARS=";
print_r($ZOPE_VARS);
echo "</pre>";
phpinfo();
?>
<dtml-var standard_html_footer>
No exemplo acima, há uma grande mistura DTML+PHP+HTML. O código php mostra que o PHPParser consegue trabalhar com diversas variáveis globais do PHP. Veja a página do produto para maiores detalhes.
O PHPGateway é um link para um diretório do seu servidor. Por exemplo, suponha que você tenha o PhpMyAdmin em /var/www/PhpMyAdmin, então basta criar um PHPGateway e no campo "docroot" você insere "/var/www/PhpMyAdmin"




