Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Separar conteúdo da Apresentação com XSLT, SimpleXML e PHP 5

Tirar proveito nos módulos PHP XSL e SimpleXML

Jake Miles, Senior Developer, Conde Nast
Photo of Jacob Miles
Jake Miles é um oficial de ligação técnico senior na Twistage, Inc que trabalha atualmente com aplicativos Facebook, Myspace e OpenSocial utilizando Java, PHP, Adobe Flex e JavaScript. Ele trabalha como desenvolvedor profissional há 10 anos e é um estudante ávido e curioso desde os 10 anos. Ele também leciona como voluntário.

Resumo:  Ao longo dos anos, desenvolvedores arquitetaram muitas estratégias e estruturas para facilitar a separação da lógica de negócios e da lógica de apresentação. Neste tutorial, você irá explorar duas soluções para separar dados e a lógica de negócios da lógica de apresentação: uma usando XSLT através do módulo XSL em PHP 5 e a outra usando o módulo SimpleXML em PHP 5. Para fazer isso, você usará uma página da Web para um currículo pessoal é armazenado como um arquivo XML como exemplo.

Data:  07/Out/2008
Nível:  Intermediário

Atividade:  4427 visualizações
Comentários:  

Antes de Iniciar

Este tutorial é para desenvolvedores de aplicativos da Web que buscam separar dados e a lógica de negócios da lógica de apresentação. Experiência em PHP, conhecimento de XML em geral e familiaridade com XSLT são todos requisitos necessários.

Sobre este Tutorial

A maioria dos aplicativos da Web pegam dados do usuário, convertem os mesmos em um formato armazenável em um banco de dados e, em seguida, pegam os dados do banco de dados e convertem os mesmo em uma página da Web. Ao criar uma página da Web a partir de dados, uma abordagem é criar uma única página PHP que age como um modelo para a página da Web, que contém todas as consultas do bancos de dados e outras lógicas necessárias para reestruturar os dados em um formulário que pode ser usado pela página. Um problema com essa abordagem, no entanto, é que mistura interesses:

  • Um interesse é do designer da página da Web, criar o layout da página
  • Outro é do desenvolvedor, extrair os dados do banco de dados
  • Um terceiro interesse é a reestruturação intermediária dos dados para que sejam usados mais facilmente na página

Separação dos interesses refere-se à extração do código para diversas camadas:

  • Uma camada para lidar com o banco de dados
  • Uma camada para manipular os dados
  • Uma camada de apresentação criando a interface com o usuário

Este tutorial demonstrará duas implementações dessa separação de interesses.

Acrônimos Usados Frequentemente

  • CSS: Cascading stylesheet
  • HTML: Linguagem de Marcação de Hipertexto
  • PHP: PHP Hypertext Preprocessor
  • XML: Linguagem de Marcação Extensível
  • XSD: XML Schema Definition
  • XSL: Extensible Stylesheet Language
  • XSLT: Transformações XSL

A separação de interesses é fundamental para código bem estruturado, pois encapsula responsabilidades e dependências. Por essa razão, ao longo dos anos, os desenvolvedores arquitetaram muitas estratégias e estruturas projetadas para facilitarem ou, até mesmo, impingirem a separação da lógica de negócios e a lógica de apresentação, já que as duas frequentemente variam independentemente uma da outra. Uma sequência de folhas de estilo XSLT torna essa separação bem clara, pois você pode dividir a conversão de dados de seu formulário persistido em uma apresentação visual em fases discretas à medida que XML é transformado por uma folha de estilo e, em seguida, a próxima. No entanto, a sintaxe e metodologia de XSLT, um paradigma declarativo, não é a norma para a maioria dos programadores que usam linguagens processuais. O módulo SimpleXML em PHP é uma resposta processual a XSLT, que permite atravessar um documento XML como um objeto PHP padrão.

Neste tutorial, você irá implementar uma página da Web para um currículo pessoal é armazenado como um arquivo XML e explorar duas soluções para separar dados e lógica de negócios da lógica de apresentação:

  • Uma usando XSLT através do módulo XSL em PHP 5
  • A outra usando o módulo SimpleXML em PHP 5

Primeiro, você irá criar um pequeno script de driver e, em seguida, implementar uma separação de conteúdo e apresentação primeiro, implementando três folhas de estilo XSLT que funcionam em seqüência e, por fim, implementando a mesma transformação em PHP usando o módulo SimpleXML. Apesar de o mecanismo fundamental subjacente a essas duas tecnologias (XSLT e PHP) ser bem diferente, o código resultante terá uma estrutura muito semelhante entre as duas implementações.

Apesar de a maioria dos dados ser armazenada em um banco de dados relacional nos dias de hoje, para um pequeno conjunto de dados que são alterados com pouca frequência e não requerem bloqueio de registro, como um currículo pessoal é, XML é um formato ideal que permite inclusões fáceis. Neste tutorial, você irá explorar XSLT e SimpleXML na renderização de um documento XML de currículo, é como uma página da Web HTML.


Pré-requisitos

Você precisará das ferramentas a seguir neste tutorial:

  • Este tutorial usa PHP versão 5.2.6.
  • SimpleXML está disponível em todas as versões de PHP 5.0 ou posterior e é ativado por padrão.
  • PHP 5 inclui a extensão XSL por padrão. Para ativá-la, pode incluir o argumento --with-xsl[=DIR] em sua linha de configuração. Para obter informações adicionais sobre como instalar e configurar a extensão XSL, consulte http://us.php.net/manual/en/xsl.setup.php.
  • Um editor de XML.

1 de 8 | Próximo

Comentários



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=387312
TutorialTitle=Separar conteúdo da Apresentação com XSLT, SimpleXML e PHP 5
publish-date=10072008
author1-email=jacob.miles@gmail.com
author1-email-cc=

Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).