XOOPS Cube Brasil (Etiqueta: php) http://xoopscube.com.br/modules/Xigg/index.php/tag/php PHP: Programando com Orientação a Objetos http://xoopscube.com.br/modules/Xigg/index.php/node/313 Nos últimos 8 meses o nosso amigo Pablo esteve trabalhando em umnovo livro sobre PHP e orientação a objetos e gostaria decompartilhar isto com você caro amigo Xoopers.Conheça o recém publicado livro sobre PHP com Orientação aObjetos!O livro aborda desde os conceitos básicos de orientação a objetoscomo herança, encapsulamento, abstração, polimorfismo, associação,agregação, composição, interfaces, tratamento de exceções,manipulação de XML e Web Services, sempre através de exemplos 100%funcionais e comentados.O livro explica a utilização da biblioteca PDO para acesso a dadose aborda com profundidade técnicas de mapeamento objeto-relacional,explicando com detalhes a teoria e dando exemplos práticos queexplicam cada uma das abordagens, que possibilitarão você aescolher a melhor forma de mapear os objetos para bases de dadosrelacionais.
Conheça o recém publicado livro sobre PHP com Orientação a Objetos!

O livro aborda desde os conceitos básicos de orientação a objetos como herança, encapsulamento, abstração, polimorfismo, associação, agregação, composição, interfaces, tratamento de exceções, manipulação de XML e Web Services, sempre através de exemplos 100% funcionais e comentados.
O livro explica a utilização da biblioteca PDO para acesso a dados e aborda com profundidade técnicas de mapeamento objeto-relacional, explicando com detalhes a teoria e dando exemplos práticos que explicam cada uma das abordagens, que possibilitarão você a escolher a melhor forma de mapear os objetos para bases de dados relacionais.

mais...

]]>
Administração 2007-10-08T12:10 Documentação
Documentação do Smarty Templates http://xoopscube.com.br/modules/Xigg/index.php/node/302 Foi incluído no XBR toda a documentação do Smarty Template. Esta é sem dúvida uma das perguntas mais freqüentes nas listas de discussões sobre PHP: como eu faço meus scripts em PHP independentes do layout? O PHP é vendido como sendo uma "linguagem de script embutida no HTML", após escrever alguns projetos que misturam HTML e PHP naturalmente vem uma idéia de que a separação da forma e conteúdo é uma boa prática [TM]. Além disso, em muitas empresas os papéis de designer e programador são separados. Conseqüentemente, a busca por um sistema de templates continua. Na nossa empresa por exemplo, o desenvolvimento de uma aplicação é feito da seguinte maneira: Após a documentação necessária estar pronta, o designer faz o esboço da interface e entrega ao programador. O programador implementa as regras de negócio no PHP e usa o esboço da interface para criar o esqueleto dos templates. O projeto então está nas mãos da pessoa responsável pelo layout HTML da página que então transforma o esboço em um layout realmente funcional. O projeto talvez vá e volte entre programação/designer HTML várias vezes. Porém, é importante ter um bom suporte à templates porque os programadores não querem ter que ficar mexendo com HTML e não querem que os designers estraguem seus códigos PHP. Os designers precisam de ajuda para alterar os arquivos de configuração, blocos dinâmicos e outros problemas relacionados à interface usada, mas eles não querem ocupar-se com as complexidades da linguagem de programação PHP. Analisando muitas das soluções de templates disponíveis para PHP hoje em dia, a maioria somente disponibilizada uma forma rudimentar de substituição de variáveis dentro dos templates e trabalham de forma limitada com as funcionalidades dos blocos dinâmicos. Mas nossas necessidades necessitam de um pouco mais do que isso. Nós não queríamos que programadores mexendo com layout em HTML, mas isso é praticamente inevitável. Por exemplo, se um designer quiser que as cores de fundo se alternam em blocos dinâmicos, isso tem que ser feito pelo programador antecipadamente. Nós também precisamos que os designers possam usar seus próprios arquivos de configuração, e usar as variáveis definidas nestes arquivos em seus templates. E a lista de necessidades continua... Nós começamos à escrever as especificações para um sistema de templates por volta de 1999. Após o término das especificações, nós começamos a escrever um sistema de template em C que esperávamos ser aceito para rodar com o PHP. Não só esbarramos em muitas barreiras técnicas, como também houve um enorme debate sobre o que exatamente um sistema de template deveria ou não fazer. À partir desta experiência, nós decidimos que o sistema de template fosse escrito para ser uma classe do PHP, para que qualquer um usa-se da forma que lhe fosse mais conveniente, então nós escrevemos um sistema que fazia exatamente, foi aí que surgiu o SmartTemplate (obs: esta classe nunca foi enviada ao público). Foi uma classe que fez quase tudo que nós queríamos: substituição de variáveis, suporte à inclusão de outros templates, integração com arquivos de configuração, código PHP embutido, funcionalidades 'if' limitada e blocos dinâmicos muito mais robustos que poderiam ser aninhados muitas vezes. Foi tudo feito usando expressões reguladores e códigos confusos, como diríamos, impenetrável. Era um sistema também extremamente lento em grandes aplicativos por causa de todo o trabalho que era feito pelas expressões regulares e o 'parsing'(interpretação) em cada chamada ao aplicativo. O maior problema do ponto de vista de um programador foi o espantoso trabalho que era necessário para configurar e processar os blocos dinâmicos dos templates. Como faríamos esse sistema ser simples de usar?Foi então que veio a visão do que hoje é conhecido como Smarty.Nós sabemos o quão rápido é um código PHP sem o sobrecarregamentode um sistema de templates. Nós também sabemos quão meticuloso eassustador é a linguagem PHP aos olhos de um designeratual, e isso tudo poderia ser mascarado usando uma sintaxe simplesnos templates. Então o que acontece se nós combinarmos essas duasforças? Assim, nasceu o Smarty       Foi incluído no XBR toda a documentação do Smarty Template.

Esta é sem dúvida uma das perguntas mais freqüentes nas listas de discussões sobre PHP: como eu faço meus scripts em PHP independentes do layout? O PHP é vendido como sendo uma "linguagem de script embutida no HTML", após escrever alguns projetos que misturam HTML e PHP naturalmente vem uma idéia de que a separação da forma e conteúdo é uma boa prática [TM]. Além disso, em muitas empresas os papéis de designer e programador são separados. Conseqüentemente, a busca por um sistema de templates continua.

Na nossa empresa por exemplo, o desenvolvimento de uma aplicação é feito da seguinte maneira: Após a documentação necessária estar pronta, o designer faz o esboço da interface e entrega ao programador. O programador implementa as regras de negócio no PHP e usa o esboço da interface para criar o esqueleto dos templates. O projeto então está nas mãos da pessoa responsável pelo layout HTML da página que então transforma o esboço em um layout realmente funcional. O projeto talvez vá e volte entre programação/designer HTML várias vezes. Porém, é importante ter um bom suporte à templates porque os programadores não querem ter que ficar mexendo com HTML e não querem que os designers estraguem seus códigos PHP. Os designers precisam de ajuda para alterar os arquivos de configuração, blocos dinâmicos e outros problemas relacionados à interface usada, mas eles não querem ocupar-se com as complexidades da linguagem de programação PHP.

Analisando muitas das soluções de templates disponíveis para PHP hoje em dia, a maioria somente disponibilizada uma forma rudimentar de substituição de variáveis dentro dos templates e trabalham de forma limitada com as funcionalidades dos blocos dinâmicos. Mas nossas necessidades necessitam de um pouco mais do que isso. Nós não queríamos que programadores mexendo com layout em HTML, mas isso é praticamente inevitável. Por exemplo, se um designer quiser que as cores de fundo se alternam em blocos dinâmicos, isso tem que ser feito pelo programador antecipadamente. Nós também precisamos que os designers possam usar seus próprios arquivos de configuração, e usar as variáveis definidas nestes arquivos em seus templates. E a lista de necessidades continua...

Nós começamos à escrever as especificações para um sistema de templates por volta de 1999. Após o término das especificações, nós começamos a escrever um sistema de template em C que esperávamos ser aceito para rodar com o PHP. Não só esbarramos em muitas barreiras técnicas, como também houve um enorme debate sobre o que exatamente um sistema de template deveria ou não fazer. À partir desta experiência, nós decidimos que o sistema de template fosse escrito para ser uma classe do PHP, para que qualquer um usa-se da forma que lhe fosse mais conveniente, então nós escrevemos um sistema que fazia exatamente, foi aí que surgiu o SmartTemplate (obs: esta classe nunca foi enviada ao público). Foi uma classe que fez quase tudo que nós queríamos: substituição de variáveis, suporte à inclusão de outros templates, integração com arquivos de configuração, código PHP embutido, funcionalidades 'if' limitada e blocos dinâmicos muito mais robustos que poderiam ser aninhados muitas vezes. Foi tudo feito usando expressões reguladores e códigos confusos, como diríamos, impenetrável. Era um sistema também extremamente lento em grandes aplicativos por causa de todo o trabalho que era feito pelas expressões regulares e o 'parsing'(interpretação) em cada chamada ao aplicativo. O maior problema do ponto de vista de um programador foi o espantoso trabalho que era necessário para configurar e processar os blocos dinâmicos dos templates. Como faríamos esse sistema ser simples de usar?

Foi então que veio a visão do que hoje é conhecido como Smarty. Nós sabemos o quão rápido é um código PHP sem o sobrecarregamento de um sistema de templates. Nós também sabemos quão meticuloso e assustador é a linguagem PHP aos olhos de um designer atual, e isso tudo poderia ser mascarado usando uma sintaxe simples nos templates. Então o que acontece se nós combinarmos essas duas forças? Assim, nasceu o Smarty

 

 

 

mais...

]]>
Administração 2007-06-18T20:20 Módulos
XOOPS no Pen Drive http://xoopscube.com.br/modules/Xigg/index.php/node/273 Isso mesmo. É possível ter seu Xoops rodando em um pen drive ouqualquer outra mídia removível.Graças ao projeto PortableApps você instala, entre outros programas, oXampp(Apache, PHP e MySql) e o Xoops em um cartão flash, porexemplo.
Graças ao projeto PortableApps você instala, entre outros programas, o Xampp(Apache, PHP e MySql) e o Xoops em um cartão flash, por exemplo.

mais...

]]>
Administração 2007-03-05T14:16 Ferramentas
MySQLDumper, solução Backup/Restore http://xoopscube.com.br/modules/Xigg/index.php/node/248 Uma das maiores chateações [ao menos para mim ]era ter que restaurar um banco de dados mysql - usado pelo xoops,joomla, drupal, xaraya e outros cms - na 'mão' incluindo de 2000 em2000 linhas pelo phpmyadmin.Sim, pq o phpmyadmin tem um time-out que mesmo usando compressãogzip, na maioria das vezes, nao permitia restaurar pelo comando sqlou rodando uma query.Bom, agora esse problema acabou!Fuçando daqui e dali descobri o MySQLDumper - programa opensource -que tem sua página de apresentação aqui: MySQLDumper.Testei o programa que, entre outras características, permite backupinteiro e em partes, permite transmissao do backup por ftp, avisopor email, deletar backups antigos automaticamente, restaurar paraoutro bd!, e outras tantas facilidades.Para download direto do MySQLDumper - clique aqui - hoje a versão estavel eh a 1.21b v6. Jáexiste outra a caminho... ] era ter que restaurar um banco de dados mysql - usado pelo xoops, joomla, drupal, xaraya e outros cms - na 'mão' incluindo de 2000 em 2000 linhas pelo phpmyadmin.

Sim, pq o phpmyadmin tem um time-out que mesmo usando compressão gzip, na maioria das vezes, nao permitia restaurar pelo comando sql ou rodando uma query.

Bom, agora esse problema acabou!

Fuçando daqui e dali descobri o MySQLDumper - programa opensource - que tem sua página de apresentação aqui: MySQLDumper. Testei o programa que, entre outras características, permite backup inteiro e em partes, permite transmissao do backup por ftp, aviso por email, deletar backups antigos automaticamente, restaurar para outro bd!, e outras tantas facilidades.

Para download direto do MySQLDumper - clique aqui - hoje a versão estavel eh a 1.21b v6. Já existe outra a caminho...

mais...

]]>
Administração 2006-07-09T12:00 WWW
Xampp http://xoopscube.com.br/modules/Xigg/index.php/node/227 Muitas pessoas sabem por experiência própria que não é fácil instalar um servidor web apache e torna-se mais difícil se você quiser acrescentar PHP, MySQL e Perl. O XAMPP é fácil para instalar a distribuição apache contendo PHP, MySQL e Perl. O XAMPP é realmente muito fácil instalar e usar – é necessário apenas baixar, extrair e inicializar. Muitas pessoas sabem por experiência própria que não é fácil instalar um servidor web apache e torna-se mais difícil se você quiser acrescentar PHP, MySQL e Perl.

O XAMPP é fácil para instalar a distribuição apache contendo PHP, MySQL e Perl. O XAMPP é realmente muito fácil instalar e usar – é necessário apenas baixar, extrair e inicializar.

mais...

]]>
Administração 2005-11-11T06:10 Ferramentas
Integração de páginas HTML no Xoops http://xoopscube.com.br/modules/Xigg/index.php/node/200 Original:Adding your own pages to XOOPS - a PHP introÉ uma tradução livre, ou seja, acrescentei algumas informações queachei úteis e retirei outras que achei dispensáveis. Mas creio queo contexto não se alterou.Acho que é um assunto interessante para aqueles usuários que comoeu não tem uma base forte em PHP mas que conhecemos bem o HTML e oXoops em si. Gostaria que o assunto fosse mais discutido e que sepossível possamos fazer disso um grande tutorial colaborativo.Disso pode nascer uma geração desenvolvedora de módulos. Adding your own pages to XOOPS - a PHP intro

É uma tradução livre, ou seja, acrescentei algumas informações que achei úteis e retirei outras que achei dispensáveis. Mas creio que o contexto não se alterou.

Acho que é um assunto interessante para aqueles usuários que como eu não tem uma base forte em PHP mas que conhecemos bem o HTML e o Xoops em si. Gostaria que o assunto fosse mais discutido e que se possível possamos fazer disso um grande tutorial colaborativo. Disso pode nascer uma geração desenvolvedora de módulos.

mais...

]]>
Administração 2005-05-21T12:30 Documentação