59
PHP Prof. Msc. Vitor Mesaque A. Lima

PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Embed Size (px)

Citation preview

Page 1: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

PHPProf. Msc. Vitor Mesaque A. Lima

Page 2: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores

• Apesar do surgimento de frameworks “confortáveis” em outras linguagens, tais como o Ruby on Rails e o .NET, o surgimento de aplicações super-populares como o Wordpress fazem do PHP um requisito fundamental no desenvolvimento Web.

Introdução

Page 3: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• PHP é “uma linguagem de scripts de propósito geral que é especialmente adequada ao desenvolvimento Web e pode ser embutida em HTML”

• PHP é uma linguagem de script do lado do servidor, ou seja, todos os dados são interpretados e enviados para o navegador antes da página Web ser carregada

O que é PHP?

Page 4: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

O que é PHP?

• PHP: um acrônimo recursivo para “PHP: Hypertext Preprocessor”– É uma linguagem de programação de

computadores interpretada– Utilizada para gerar conteúdo dinâmico na Web– Linguagem server-side– Orientada a objetos– Código-fonte aberto e livre

• O PHP pode ser embutido no HTML, sempre para gerar mais HTML

Programação para Web 4

Page 5: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

O que é PHP?

• HTML é 100% estático

• Com a implementação do PHP em seu código, pode-se criar sites dinâmicos

• O PHP pode ser embutido dentro do HTML, e vice-versa– Não importa o quão complicado é o PHP, sua saída será um HTML

simples

• Sua sintaxe é muito semelhante à de outras linguagens: ASP.NET, Perl, JavaScript, C, C++, C#, etc

Page 6: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

PHP- Arquitetura

PHP + Apache

HTML

Banco de Dados

Page 7: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

1. Fácil curva de aprendizado– Quanto menos tempo você gastar procurando o

manual e estudando a linguagem, mais tempo o desenvolvedor terá para criar e otimizar sua aplicação

– Uma das melhores características do PHP é que é extremamente fácil de aprender em comparação a outras linguagens

– A sintaxe é indiscutivelmente lógica e muitas das funções comuns fazem exatamente o que descrevem

Vantagens

Page 8: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

2. Sintaxe familiar– PHP é uma linguagem excelente para

desenvolvedores com experiência em programação, especialmente de programação em C e Perl, nas quais a sintaxe do PHP é baseada

3. Custo– É livre e open source

4. Performance– PHP é uma linguagem de programação Web

eficiente

Quais as vantagens de usar PHP?

Page 9: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

5. Comunidade– PHP possui uma comunidade grande– O site http://php.net/ possui documentação

aprofundada e abrangente. Além disso, existem milhares de fóruns e sites de ajuda. Por ser open source, há muito desenvolvimento colaborativo, sendo a linguagem constantemente melhorada.

Quais as vantagens de usar PHP?

Page 10: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

PHP - Histórico• 1994: surgiu como um pacote de programas CGI criados por Rasmus

Lerdof, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal

• 1997: foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL

• 1998: PHP 3 de Zeev Suraski contava recursos de OO

• 2000: Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, com mais recursos de OO

• 2004: PHP 5 que está mais OO

Programação para Web 10

Page 11: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Introdução• Após instalar o PHP

– LAMP (Linux, Apache, MySQL e PHP) – WAMP (Windows, Apache, MySQL e PHP)– MAMP (Mac, Apache, MySQL e PHP)

• Crie seu primeiro arquivo PHP. Normalmente o Apache é configurado para procurar a sintaxe PHP em arquivos com a extensão ‘.php’– Para avisar o servidor que estamos trabalhando com PHP, é necessário usar a

seguinte sintaxe ao adicionar PHP em seus documentos HTML:

Programação para Web 11

<?php...aqui vai o código...?>

<?php echo “Olá mundo!”; ?>

<?= ‘Olá mundo!’ ?>

Page 12: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Introdução

• PHP é case-sensitive;• PHP não é white-space sensitive;• Cada linha deve terminar com ponto-e-vírgula;

– Quando temos uma única declaração não é necessário.• Comentários podem ser inseridos assim:

Programação para Web 12

<?php# This is a single line comment. // This is the most common way of commenting out your code. /* Here is a way to comment over multiple lines. This is the exact same way that you would comment in CSS */ ?>

Page 13: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Introdução - Definindo Variáveis

• Declaramos uma variável em PHP utilizando o símbolo ‘$’

• São dinamicamente tipadas

Programação para Web 13

<?php$myVar = ‘Isto é PHP em ação!’;echo $myVar;?>

<?php$myVar = ‘Isto é PHP em ação!’;$myVar = $myVar . ‘ Meu nome é Fulano de TAl.’;echo $myVar . ‘Minha página é fulanotal.com’;?>

Page 14: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Combinando HTML com PHP<html>

<header><title>Minha primeira página dinâmica</title>

</header><body>

<p><?php echo ‘Hoje é dia ’ . date (‘d-m-Y’) .

‘!’; ?></p><p><?php echo ‘Meu nome é

<strong>Fulano</strong>’; ?></p>

</body></html>

Programação para Web 14

Page 15: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Definindo uma função

Programação para Web 15

Page 16: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Vetores e Matrizes

• Vetores e matrizes em PHP estão organizadas em pares "chave" e "valor"– Existem três tipos de matrizes: associativa,

numérica, e multidimensionais• Matrizes associativas é uma maneira de colocar uma chave que

seja relacionada semânticamente ao valor• Matrizes numéricas são criadas por padrão quando não definimos

a chave• Matrizes multidimensionais são simplesmente arrays dentro de

arrays

Programação para Web 16

Page 17: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Vetores e Matrizes

Programação para Web 17

Page 18: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Principais Funções de Arrays

• array_key_exists• array_keys• in_array• array_merge• array_pop• array_shift• arsort• asort

Programação para Web 18

• count• reset• implode• explode

Page 19: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Loops

while (condição) { bloco_de_comandos }

do { bloco_de_comandos } while (condição);

for (inicializador ; condição ; incremento){ bloco_de_comandos }

foreach (vetor as chave => valor){ bloco_de_comandos }

Programação para Web 19

Page 20: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Loops

Programação para Web 20

Page 21: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Outros Conceitos Básicos

• Variáveis globais (uso da palavra-chave ‘global’ em funções)• Variáveis estáticas (uso da palavra-chave ‘static’)• Variáveis dinâmicas ($var)

• Constantes (‘define ()’)• Constantes reservadas: __LINE__, __FUNCTION__ e

__METHOD__• Principais operadores

Programação para Web 21

Page 22: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Funções de Manipulação de Arquivos

• file• file_get_contents• file_put_contents• copy• unlink• fopen• fread• fwrite

Programação para Web 22

• fflush• fclose• file_exists• is_readable• is_writable• feof

Page 23: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Manipulação de Arquivostry {

if (!file_exists ($path) && !@mkdir ($path, 0777))throw new Exception ('Impossível criar

diretório');$fd = fopen ($path .'log.'. date ('Ym'), 'a');if (!$fd)

throw new Exception (‘Erro abrir/criar arquivo!');if (!fwrite($fd, date('d-m-Y H:i:s') ."] ". $msg ."\n"))

throw new Exception (‘Erro ao gravar no arquivo!');fclose ($fd);

} catch (Exception $e) {die ($e->getMessage ());

}

Programação para Web 23

Page 24: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Funções de Manipulação de Cookies

bool setcookie (string $nome, string $valor, int $expira, string $caminho, string $domínio, bool $seguro, bool $somente http

)Programação para Web 24

“username”“jsilva”time () + 60 * 60 * 24 * 30“admin/”“admin.site.com.br”11

Page 25: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Manipulação de Cookies

Programação para Web 25

Page 26: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Trabalhando com Sessões

Programação para Web 26

Page 27: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Orientação a Objetos

• PHP é muito mais do que uma linguagem de script, é uma linguagem de programação plenamente desenvolvida capaz de construir aplicações muito complexas

• OOP representa Programação Orientada a Objetos– É um paradigma de programação onde você criar "objetos" para

trabalhar– Esses objetos podem ser adaptados às suas necessidades

específicas, para atender diferentes tipos de aplicações, mantendo a mesma base de código

– Ao dominar o poder total da programação Orientada a Objetos, você pode reduzir o tempo de codificação e usá-lo para construir WebApps melhores

Programação para Web 27

Page 28: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Criando uma classe

Programação para Web 28

Page 29: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Atributos e Métodos

Programação para Web 29

Page 30: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Criando uma sub-classe

Programação para Web 30

Page 31: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Outros Conceitos de OO no PHP

• No PHP 5, toda atribuição de variáveis do tipo objeto é por referência. Para criar cópias deve-se utilizar a palavra-chave ‘clone’– Uma interface funciona como se fosse um contrato,

contendo todas as regras que uma classe que a implementa deve conter para ser plenamente aceita. No PHP, são declaradas por meio da palavra-chave ‘interface’.

• O PHP 5 aceita indução de tipo nos parâmetros de métodos de classes (apenas ‘array’ e ‘object’)

Programação para Web 31

Page 32: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Classes Abstratas

• Declarada por meio da palavra-chave ‘abstract’• Não é permitido instanciá-las

– Qualquer classe que contiver pelo menos um método que seja abstrato deverá ser declarada como abstrata

– Podem conter tantos métodos concretos quanto abstratos, sendo que estes últimos devem ser codificados pela classe concreta que a estende

– Quando uma classe abstrata estende uma interface, não precisa codificar seus métodos

Programação para Web 32

Page 33: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Classes Abstratas

Programação para Web 33

Page 34: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Métodos gerais

• __construct• __destruct• __call• __get• __set• __isset• __unset• __toString• __clone

Programação para Web 34

Page 35: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Passagem de parâmetros por GET e POST

• Quando um formulário é submetido para um script PHP, qualquer variável do formulário será automaticamente disponibilizada para ele.– O metodo GET obtem os dados da QUERY_STRING

• Por exemplo, http://www.example.com/test.php?id=3 contém os dados GET que serão acessíveis com $_GET['id']

– O PHP entende arrays no contexto de variáveis de formulários. Pode-se agrupar variáveis relacionadas juntas, ou usar esse recurso para receber valores de um campo de seleção múltipla.

Programação para Web 35

Page 36: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Passagem de parâmetros por GET e POST

Programação para Web 36

Page 37: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

PDO: Conexão com Banco de Dados

• PDO (PHP Data Objects) é um módulo de PHP montado sob o paradigma Orientado a Objetos e cujo objetivo é prover uma padronização da forma com que PHP se comunica com um banco de dados relacional– Apenas para PHP 5. – É uma interface que define um conjunto de classes e a assinatura dos

métodos de comunicação com uma base de dados.– Cada sistema gerenciador de bancos de dados (SGBD) pode prover um

driver para PDO.– Apesar de PDO definir a assinatura dos métodos que cada driver deve

implementar, alguns recursos podem não ser suportados. Por exemplo, algumas engines do SGBD MySQL não dão suporte a transações, logo o método "beginTransaction" simplesmente não terá efeito sob tais condições.

Programação para Web 37

Page 38: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

PDO

• PDO não é uma camada de abstração de SQL– Portanto, usar PDO não significa que seu sistema

será portável entre diferentes SGBDs

– Utilizar PDO tende a ser mais simples do que utilizar biblioteca de funções, mas continua exigindo conhecimento da sintaxe SQL específica do modelo de SGBD envolvido.

Programação para Web 38

Page 39: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Conexão com MySQL antes do PDO

Programação para Web 39

Page 40: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Conexão com PostgreSQL antes do PDO

Programação para Web 40

Page 41: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Conexão com MySQL com PDO

Programação para Web 41

Page 42: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Utilizando o PDO

Após abrir uma conexão, as consultas podem ser feitas de duas maneiras:1. Através da própria conexão, com o método

"exec" ou o "query";2. Montando uma prepared statement com o

método "prepare", que devolve um objeto da classe PDOStatement, e depois executando o método "execute" (desta classe).

Programação para Web 42

$inseriu = $pdo->exec ('INSERT INTO logs (operacao) VALUES (1)');$ultimo_id = $pdo->lastInsertId();

Page 43: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Utilizando o PDO

Programação para Web 43

Page 44: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• Obtenção padronizada de erros ocorridos em consultas, através do método "errorInfo" e "errorCode" da classe PDO e PDOStatement– Suporte a inicialização e encerramento de

transações de forma padronizada (esta funcionalidade depende do suporte do SGBD), através dos métodos "beginTransaction", "commit" e "rollBack“

Outros benefícios do PDO

44Programação para Web

Page 45: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Outros benefícios do PDO

– Suporte para trabalhar com handle de arquivos para realizar inserções ou consultas a grandes volumes de dados, para economizar memória

• Isso acontece pois a própria classe PDO fica responsável por transmitir o arquivo "aos poucos", sem precisar carregá-lo inteiramente na memória, como seria feito da forma tradicional

• Um handle de arquivo utiliza uma variável do tipo resource, que funciona como um "ponteiro" para o arquivo

Programação para Web 45

Page 46: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Tratamento de Exceções

Programação para Web 46

Page 47: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Arrays Superglobais

• $GLOBALS• $_SERVER• $_GET• $_POST• $_FILES• $_COOKIE• $_SESSION• $_REQUEST• $_ENV

Programação para Web 47

Page 48: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

FRAMEWORKS PHP

“Algumas vezes a programação se torna monótona e/ou repetitiva, e é aí que um framework pode ajudar”Thiago Dutra da Fonseca Belem

Programação para Web 48

Page 49: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

“Os frameworks são definidos como aplicações semi-completas e reutilizáveis que, quando especializadas, produzem aplicações personalizadas dentro de um domínio específico” Foote e Johnson (1988).

– É uma estrutura, ou uma fundação, para criar a aplicação– Permite o desenvolvimento rápido de aplicações,

economizando tempo e ajudando a criar aplicações mais sólidas e seguras, além de reduzir a quantidade de código repetido [conceito: DRY]

O que é um framework?

49Programação para Web

Page 50: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• Principal motivo: agilizar o processo de desenvolvimento

• Re-utilização de código: o framework já traz uma série de módulos pré-configurados (envio de e-mails, conexão com o banco de dados, sanitização de dados, proteção contra ataques, etc)

• Estabilidade: a simplicidade, que é um dos grandes "feitos" do PHP, também é o que possibilita inúmeros erros e falhas pelos principiantes

Por que usar um framework PHP?

50Programação para Web

Page 51: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• Características desejáveis:– MVC: Arquiteura baseada em Model-View-Controller.

– Multiple DB’s: Suporte a conexões com diversos SGBDs distintos.

– ORM: Suporte a “object-record mapper” (geralmente uma implementação do ActiveRecord)

– DB Objects: Suporte a padrões de projeto que abstraiam SQL (TableGateWay)

– Templates: Possuir uma template engine embutida

– Caching: Suporte a caching

– Validation: Possuir um componente de validação de dados

– Ajax: Suporte nativo a Ajax

– Auth Module: Suporte nativo a autenticação de usuários

– Modules: Suporte a adição de novos módulo, tais como RSS feed parser, PDF module ou qualquer outra coisa útil

– EDP: Event Driven Programming

Principais frameworks PHP

51Programação para Web

Page 52: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• O CodeIgniter é um framework leve e fácil de usar, adequado para ambientes de hospedagem compartilhada por consumir poucos recursos– Está bem documentado e oferece uma biblioteca

com vídeos-tutoriais ensinando as suas funcionalidades

– É adequado para programadores iniciantes

http://codeigniter.com/

Principais frameworks PHP:CodeIgniter

52Programação para Web

Page 53: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• O framework da Zend foca na criação de aplicativos complexos e possui uma grande comunidade de desenvolvimento contribuindo para a sua construção– Dependendo de como desenvolver a sua aplicação,

poderá torná-la um pouco pesada, por isto é necessário um conhecimento um pouco mais avançado para tirar o melhor proveito desta ferramenta poderosa

http://www.zend.com/

Principais frameworks PHP:Zend Framework

53Programação para Web

Page 54: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• CakePHP poderia ser chamado de “PHP on Rails”, pois segue princípios utilizados em Ruby on Rails– É focado no desenvolvimento rápido de aplicativos– Recentemente tem se tornado muito famoso por

sua simplicidade e facilidade de uso

http://cakephp.org/

Principais frameworks PHP:CakePHP

54Programação para Web

Page 55: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• O framework Symfony se encaixa para programadores mais experientes, que desenvolvem aplicativos para uso corporativo– Também segue a filosofia do “Rails”

http://www.symfony-project.com/

Principais frameworks PHP:Symfony

55Programação para Web

Page 56: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• O Titan é um framework para instanciação de CMSs (Content Management Systems), ou seja, gerenciadores de conteúdo, para sistemas Web– A proposta do Titan Framework é ser uma solução

simples e completa para a instanciação de gerenciadores de conteúdo de forma rápida e fácil.

– Conceito lógico de navegação (Seções e Ações)– Seções podem ser organizadas visualmente em um

conceito de pais e filhos

Titan Framework

56Programação para Web

Page 57: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• Listas com Busca, Paginação e Ordenação

• Sistema de upload de arquivos completo

• Criação de páginas ricas (FCK)• RSS para monitoramento• Sistema de Cache (XMLs

parseados)• Chat• Uso extensivo de XML

– Cache para performance

• Controle de versões• Criação de repositórios privados

– Permite a criação de seus próprios componentes, tipos e templates

• Sistema de alertas• Sistema de Log• Gráficos quantitativos

automáticos• Ajax• Totalmente OO (PHP 5)• Lançamento de exceções para

controle de regras de negócios, validação e erros

Titan Framework - Características

57Programação para Web

Page 58: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

• Núcleo (Core) independente e imutável em função de instâncias– Desenvolvimento e aprimoramento constante, mas

legado

Titan Framework - Arquitetura

58Programação para Web

Page 59: PHP Prof. Msc. Vitor Mesaque A. Lima. Atualmente é a linguagem de programação Web mais utilizada pelos desenvolvedores Apesar do surgimento de frameworks

Titan Framework - Documentação

• http://titanframework.com/

• Paradigma de desenvolvimento de software livre: baseado no conceito de comunidade

• Lista de discussão:http://groups.google.com.br/group/titan-framework