24
UNIVERSIDADE FEDERAL DE SANTA CATARINA UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO – CTC CENTRO TECNOLÓGICO – CTC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA – INE DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA – INE DESENVOLVIMENTO DE SISTEMA ORIENTADO A OBJETOS II – DSOO2 DESENVOLVIMENTO DE SISTEMA ORIENTADO A OBJETOS II – DSOO2 ZEND FRAMEWORK - PHP ZEND FRAMEWORK - PHP ANTONIO VASCONCELLOS ANTONIO VASCONCELLOS EDUARDO PICININ EDUARDO PICININ LEONARDO BRES LEONARDO BRES VINICIUS PAVEI VINICIUS PAVEI Junho/2010 Junho/2010

ZEND FRAMEWORK - PHPfrank/INE5612/Seminario2010.1/Zend.pdf · (ACL), configuração de aplicações, data caching, filtragem/validação de dados fornecidos pelo usuário para segurança

  • Upload
    others

  • View
    26

  • Download
    0

Embed Size (px)

Citation preview

UNIVERSIDADE FEDERAL DE SANTA CATARINAUNIVERSIDADE FEDERAL DE SANTA CATARINACENTRO TECNOLÓGICO – CTCCENTRO TECNOLÓGICO – CTC

DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA – INEDEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA – INEDESENVOLVIMENTO DE SISTEMA ORIENTADO A OBJETOS II – DSOO2DESENVOLVIMENTO DE SISTEMA ORIENTADO A OBJETOS II – DSOO2

ZEND FRAMEWORK - PHP ZEND FRAMEWORK - PHP

ANTONIO VASCONCELLOSANTONIO VASCONCELLOSEDUARDO PICININEDUARDO PICININLEONARDO BRESLEONARDO BRESVINICIUS PAVEIVINICIUS PAVEI

Junho/2010Junho/2010

História do PHP

● O PHP começou a ser desenvolvido em 1995 por Rasmus Lerdorf. Essa primeira versão chamava-se PHP/FI (Personal Home Page Tools-Form Interpreter) e era nada mais que uma coleção de scripts Perl.

●Em 1997, Rasmus melhorou seus scripts e lançou a versão 2 do PHP/FI. Em novembro desse mesmo ano, Andi Gutimans e Zeev Suraski estavam procurando uma linguagem para desenvolver um e-commerce para um projeto da universidade.

●Em junho de 1998, sai o primeiro resultado da parceria, Rasmus, Andi e Zeev lançam uma nova versão do PHP, bem melhorada e com um novo nome, nasce então o PHP 3, PHP Hypertext Preprocessor. Foi lançado juntamente uma API de extenção da linguagem isso fez com que aumentasse o número de colabores e o PHP crescesse.

História do PHP●Em 22 de maio de 2000, o PHP 4 foi lançado com um novo paradigma para a execução dos scripts PHP. O PHP 3 analisava e executava o código ao mesmo tempo enquanto que o PHP 4 passou a compilar o código inteiro transformando-o em byte code para somente depois ser executado pelo Zend Engine. Esse novo procedimento deixou o PHP 4 muito mais rápido do que o PHP 3.

●Depois da versão 4.3.0 a demanda por funcionalidades orientadas a objetos cresceu e por esse motivo Andi decidiu reescrever a parte orientada a objetos da linguagem e iniciou o trabalho escrevendo, junto com Zeev, o documento "Zend Engine II: Feature Overview and Design" (Zend Engine II: Visão Geral e Elaboração de Funcionalidades).

●A partir desse momento, muitas funcionalidades foram adicionadas, retiradas e modificadas, até que em 13 de julho de 2004 o tão esperado PHP 5 foi lançado trazendo como principal novidade a orientação a objetos totalmente reescrita.

Características do PHP

●Velocidade e robustez

●Estruturado e orientação a objeto

●Portabilidade - independência de plataforma

●Tipagem fraca

●Sintaxe similar a Linguagem C/C++ e o PERL

● Fundadores Andi Gutmans e Zeev Suraski

● Responsáveis pela Zend Engine

● Zend Server, Zend Studio (IDE), Zend Framework

INTRODUÇÃO● Zend Framework é um framework de aplicação web de código aberto,

orientado a objetos, implementado em PHP 5 e licenciado como New BSD License. Zend Framework freqüentemente referido como ZF é desenvolvido com o objetivo de simplificar o desenvolvimento web enquanto promove as melhores práticas na comunidade de desenvolvedores PHP.

● A arquitetura use-a-vontade do ZF permite que os desenvolvedores reutilizem componentes quando e onde eles fizerem sentido em suas aplicações sem requerer outros componentes ZF além das dependências mínimas. Não há portanto nenhum paradigma ou padrão que todos os usuários Zend Framework devam seguir, embora ZF forneça componentes para os padrões de projeto MVC e Table Gateway que são usados na maioria das aplicações ZF.

● Zend Framework fornece componentes individuais para muitos outros requisitos comuns no desenvolvimento de aplicações web, incluindo autenticação e autorização via listas de controle de acesso (ACL), configuração de aplicações, data caching, filtragem/validação de dados fornecidos pelo usuário para segurança e integridade de dados, internacionalização, interfaces para funcionalidades AJAX, composição/entrega de email, indexação e consulta no formato de busca Lucene, e todas as Google Data APIs com muitos outros web services populares.

● Por causa de seu projeto fracamente acoplado, os componentes ZF podem ser facilmente usados em componentes de terceiros.

HISTÓRICO● O Zend Framework foi concebido no início de 2005 enquanto

muitos novos frameworks, tais como Ruby on Rails e Spring Framework, estavam ganhando popularidade na comunidade web development;

● ZF foi publicamente anunciado pela primeira vez na Zend Conference. Os projetistas do Zend Framework buscaram combinar características de uso final e rapid application development (RAD) desses novos frameworks com a simplicidade, abertura e praticidade do mundo real que é altamente valorizada na comunidade PHP;

LICENCIAMENTO

● Zend Framework está licenciado sob Open Source Initiative(OSI) approved New BSD License, e todos os contribuidores de código devem assinar um Contributor License Agreement (CLA) baseado no Apache Software Foundation’s CLA.

● O licenciamento e as políticas de contribuição foram estabelecidas para frustrar quaisquer questões de propriedade intelectual por usuários ZF comerciais.

APOIADORES

● Zend Tecnologia, co-fundada pelos contribuidores do núcleo PHP Andi Gutmans e Zeev Suraski, é a patrocinadora corporativa do Zend Framework. Os parceiros tecnológicos incluem IBM, Google, Microsoft, e StrikeIron.

REQUISITOS

● Zend Framework requer PHP 5.1.4 ou superior, embora o Guia de Referência do Programador Zend Frameworkrecomende PHP 5.2.4 ou superior por melhorias de segurança e desempenho incluídas entre essas versões de PHP.PHPUnit3.0 ou superior é requerido para rodar os testes unitário embarcados com Zend Framework. Muitos componentes também requerem extensões PHP; uma lista completa de componentes e suas dependências pode ser encontrada no Guia de Referência do Programador.

CARACTERÍSTICAS● Todos os componentes são PHP 5 completamente orientados a

objeto e tem conformidade com E STRICT;

● Arquitetura use-a-vontade com fraco acoplamento de componentes e interdependências mínimas;

● Implementação MVC extensível suportando layouts e templates baseados em PHP por padrão;

● Implementação flexível de Table Gateway para acessar dados de um banco de dados relacional em um ambiente orientado a objetos;

● Suporte para múltiplos sistemas de bancos de dados, incluindo MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite, e Informix Dynamic Server;

● Autenticação e autorização baseada em ACL usando uma variedade de sistemas de backend;

● Filtro de dados e validação para fortalecimento da segurança da aplicação;

● Gerenciamento de sessão;

● Componente de configuração para promover um gerenciamento de configuração consistente através de Zend Framework e aplicações ZF;

● Composição e entrega de email, recuperação via mbox, Maildir, POP3 e IMAP4;

● Indexação e busca que suporta o formato de arquivo índice Lucene;

● Internationalização e localização;

● Criação de formulários usando PHP, arquivos de configuração ou XML;

● Tecnologias de Identity 2.0 tais como Microsoft InfoCard e OpenID;

● Subsistema de caching flexível com suporte para muitos tipos de backends, tais como memory ou um sistema de arquivos;

● Componente de logging simples inspirado por log4j;

● Componente nativo PHP para leitura, atualização e criação de documentos PDF;

● Serialização de estruturas de dados PHP para e de JSON de modo a facilitar o desenvolvimento AJAX;

● API para consumir RSS e alimentadores Atom;

● Bibliotecas cliente para muitos repositórios de web services, incluindo Amazon E-Commerce Service , Akismet, del.icio.us, Flickr, StrikeIron, Yahoo!, Audioscrobbler, e Simpy;

CÓDIGO/CONTRIBUIÇÕES

● Contribuições de código para o Zend Framework são sujeitas a um código rigoroso, documentação, e padrões de teste. Todo código deve ir ao encontro dos padrões de codificação e os teste unitários devem alcançar 80% de cobertura de código antes que o código correspondente possa ser movido para a marca de release.

ORGANIZAÇÕES QUE USAM ZEND FRAMEWORK

● brainbits● Berlin Museums● Digital Sublimity● Eurotransplant● GNU/Linux Matters● IBM

● Marseille City School System

● Nokia● Right Media● Magento● muchBeta● SAPO

LINKS● http://www.zfbrasil.com/forum/ - Comunidade

Brasileira do ZF no Brasil;

● http://imasters.uol.com.br/artigo/4609 - Júlio César Martini – Tutorial de Instalação e configuração do ZF;

<?php

class indexController extends Zend_Controller_Action {

public function indexAction()

{

$view = Zend::registry('view');

$view->title = 'EXEMPLO DE CODIGO PHP/ZF';

$view->body = 'Hello, World!';

echo $view->render('hello.php');

}

public function noRouteAction() {

$this->_redirect('/');

}

}

?>

<html>

<head>

<title><?php echo $this->escape($this->title); ?></title>

</head>

<body>

<?php echo $this->escape($this->body); ?>

</body>

</html>

HELLO WORLD!PHP/Zend Framework