1. O documento discute e faz propaganda de vários frameworks PHP, comparando suas funcionalidades.
2. É enfatizado que o Zend Framework é o melhor, mais completo e usado por profissionais.
3. No final, o leitor é encorajado a escolher um framework e começar a usá-lo, sugerindo fortemente que o Zend Framework seja a escolha.
13. Instalação e Configuração -versão atual: 1.7.2 roda no PHP 5.3 -baixe e descompacte o arquivo -informe parâmetros de conexão com o banco application/config/database.php -informe a raiz do site application/config/config.php sf
31. Acesso a dados e ORM: *Active Record à disposição Leitura fácil: $this->db->get("tabela");// SELECT * FROM tabela
32. class User extends Model { function User() { parent::Model();// Chama o construtor do Model } function get10() { $query = $this->db->get('user', 10); return $query->result(); } sf
56. Segurança: array $_GET sob controle http://localhost/index.php/cadastro/user/1 $user_id = $this>uri>segment(3, 0); Classe DB: valores limpos $this->db->where('nome', $nome); // Produces: WHERE nome = 'Leo'
57. Localização e Internacionalização system/application/language/pt-BR/form_lang.php $this->lang->load('form-lang', 'pr-BR'); $this->lang->line('required'); sf
59. User Culture: combinação do idioma e país do usuário Ex: pt_BR, en_US Helpers: informações no formato correto (de acordo com o User Culture) - format_date - format_datetime - format_currency - format_number ...
60. Armazenar tradução no banco de dados: product ( id, price) product_i18n (id, culture, name)
É o framework pra você que: Quer uma instalação leve Quer performance excepcional Quer compatibilidade vasta com versões de PHP Quer simplificar a configuração Quer um framework que não precise mexer em linha de comando Quer liberdade quanto a regras de codificação Quer optar por utilizar templates como smarty, ou não Quer simplificar em vez de complicar Quer documentação clara e objetiva
Framework de verdade é essa daqui! Foco em aplicações robustas em contexto empresarial Última versão estável: 1.2.9 (11/2008) Versão Beta 1.3 (11/2009) – suporte 1 ano Versão Beta 1.4 (12/2009) – suporte 3 anos PHP >= 5.2.4
Instalação e configuração Três opções de instalação: Sandbox: para usuários que desejam testar o symfony pear: $php pear install symfony/symfony (não recomendado se você deseja uma versão do symfony para cada projeto) Download do pacote (recomendada) Criar o projeto e aplicação Configurar o webserver
Configuração e instalação, continuação... YAML é um formato de serialização (codificação de dados) de dados legíveis por humanos inspirado em linguagens como XML, C, Python, Perl, assim como o formato de correio eletrônico especificado pela RFC 2822. YAML foi proposto por Clark Evans em 2001 em conjunto com Ingy döt Net e Oren Ben-Kiki. YAML é um acrónimo recursivo que significa "YAML Ain't Markup Language" (em português, "YAML não é outra linguagem de marcação"). No início do seu desenvolvimento YAML significava "Yet Another Markup Language" ("Mais outra linguagem de marcação") para distinguir seu propósito centrado em dados no lugar de documentos marcados. Como é usado frequentemente XML para serialização de dados e XML é uma autêntica linguagem de marcação de documentos, é razoável considerar o YAML como uma linguagem de marcação rápida.
Arquitetura O Symfony é projetado para permitir que os desenvolvedores apliquem princípios ágeis do desenvolvimento (tais como DRY, KISS ou XP) e foquem na regras de negócio sem necessitar escrever muitos arquivos de configuração XML, comuns nos frameworks atuais. Symfony ainda tem como objetivo construir aplicações robustas em contexto empresarial, e dar aos desenvolvedores controle total sobre a configuração: da estrutura de diretórios às bibliotecas externas, quase tudo pode ser personalizado. Para atingir os guidelines de desenvolvimento das empresas, o framework é empacotado com ferramentas adicionais para ajudar os desenvolvedores nos testes, depuração e documentação dos projetos.
Meu sobrinho aprendendo CI
Meu sobrinho aprendendo CI
Acesso a Dados e ORM Camada de abstração: 1.0.x e 1.1.x => Creole 1.2.x => PDO ORM: Propel Doctrine Propel é o padrão, mas é simples alterar para Doctrine Os dois podem ser desabilitados Comandos: symfony propel:build-model
Cache Symfony oferece um sistema de cache flexível, configurado através de arquivos YAML Várias formar de armazenar o cache: sfAPCCache, sfEAcceleratorCache, sfMemcacheCache, sfSQLiteCache, and sfXCacheCache Permitir cache de uma ação, de uma página ou apenas partes de página Aceita parâmetros
Segurança Configuração em arquivo YAML sfUser setAuthenticated() isAuthenticated() addCredential() hasCredential()
Localização e internacionalização User Culture: combinação do país e idioma do usuário Alterando o User Culture do usuário $this->getUser()->setCulture('pt_BR'); Helpers => informações no formato correto (de acordo com o User Culture): format_date, format_datetime, format_currency, format_number, etc Helper I18N