1. PHP: Como não Programar em POG
Dicas para criar soluções com Potencial
Cícero Moura
2. Roteiro
● Razões para escolher o PHP
● Porque o PHP é considerado uma linguagem Suja
● Boas práticas de programação com o PHP
● Ferramentas para auxiliar o desenvolvimento
● Utilizando MVC com PHP
● Utilizando Framework com PHP
● Dicas Finais
Cícero Moura PHP: Como não Programar em POG
3. PHP: Por que devo escolher?
● Linguagem de back-end(server-side) voltada para Web
● Fácil Aprendizagem
● Proporciona um desenvolvimento intuitivo e interativo
● Multiplataforma
● Código fonte aberto
● Resolve praticamente todos os seus problemas
Cícero Moura PHP: Como não Programar em POG
“Se você tem um problema que não consegue resolver, chame um programador
PHP, se ele não conseguir resolver, desista, seu problema não tem solução!”
4. PHP: Então qual o Problema?
● Linguagem de multiparadigma (Estruturada, Orientada a Objetos e Orientada a Gambiarra)
● Não Tipada (Vem se tornando fracamente tipada)
● Documentação incompleta e conteúdo de estudo desatualizados
● Falta de segurança
● Fácil de criar saídas técnicas (Famosa Gambiarra)
Cícero Moura PHP: Como não Programar em POG
5. PHP: Por que adotar boas práticas?
● Criar sistemas seguros e com bom desempenho
● Gerar Qualidade de Software
● Aumentar a manutenibilidade do sistema
● Ter um Software flexível e reutilizável
● Não ser xingado pelos colegas de trabalho ou da área
Cícero Moura PHP: Como não Programar em POG
6. Quais são as formas de não utilizar POG?
Cícero Moura PHP: Como não Programar em POG
7. Utilize a última versão da Linguagem
● O PHP atualmente está na versão 7.
● A versão mais nova traz melhorias em relação a 5.6.x, podemos citar:
1. Motor remodelado, com isso, houve um grande ganho de desempenho.
2. Erros fatais passaram a ser Exceções, isso quer dizer que eles podem
ser tratados em bloco try/catch.
3. É possível definir alguns tipos para parâmetros de métodos e funções,
inclusive o seu retorno, se tornando uma linguagem fracamente tipada.
● Independente da versão do PHP utilize Orientação a
Objetos.
Cícero Moura PHP: Como não Programar em POG
8. Utilize ferramentas para auxiliar o desenvolvimento
● Ferramentas são essenciais para organizar o projeto, automatizar atividades
e manter o controle sobre a aplicação em desenvolvimento.
● IDE: fornece um local único para seu trabalho de codificação e fornece
diversas funcionalidades: Projetos, Depuração, Inteligência de Código,
Visualização de Classes, Controle de Código de Origem (CVS) e Integração
de FTP/SFTP.
● IDE para PHP: Eclipse, Zend Studio e JetBrains PhpStorm.
Cícero Moura PHP: Como não Programar em POG
9. Utilize Controle de Versão
● O controle de versão é um sistema que registra as mudanças feitas em um
arquivo ou um conjunto de arquivos ao longo do tempo de forma que você
possa recuperar versões específicas.
● Atualmente as ferramentas mais utilizadas são:
➔ Git e Github: Git é um sistema de controle de versão de arquivos e o
Github oferece funcionalidades que estende o Git, inclusive o repositório
para armazenar projetos.
Cícero Moura PHP: Como não Programar em POG
10. Git e Github
● Instalação do Git
● Configurações iniciais de usuário do Git
● Criar conta e um novo repositório no Github: https://github.com
Cícero Moura PHP: Como não Programar em POG
11. Git e Github
● Clonando um repositório
● Adicionando alterações no index do git
● Criando versão do projeto com um número único
● Salvando alterações no repositório
● Resgatando alterações do Github
Cícero Moura PHP: Como não Programar em POG
12. Utilize um Gerenciador de Dependências
● Responsável por gerenciar bibliotecas externas ou até mesmo internas que
sejam necessárias para o projeto.
● Composer: Instalação e configuração
Cícero Moura PHP: Como não Programar em POG
13. Composer: Instalção e Configuração
● Adicionando bibliotecas no arquivo composer.json
● Lendo o arquivo composer.json e baixando as dependências
Cícero Moura PHP: Como não Programar em POG
14. Adote um Padrão de Arquitetura
● Padrões de projetos são soluções para problemas que alguém um dia teve e
resolveu aplicando um modelo que foi documentado e que você pode
adaptar integralmente ou de acordo com a necessidade da sua solução.
● Um padrão de arquitetura está ligado diretamente com a forma que você
organiza o seu projeto.
● Exemplos: MVC, MVVM e MVP.
Cícero Moura PHP: Como não Programar em POG
15. MVC com PHP
● Model - View - Controller
● Model: responsável pela leitura e escrita de
dados, e também de suas validações.
● View: camada de interação com o usuário.
Ela apenas faz a exibição dos dados.
● Controller: comunicação entre a Model e
View.
Cícero Moura PHP: Como não Programar em POG
16. MVC com PHP
● Onde tudo se inicia.
● Configurando os redirecionamentos.
Cícero Moura PHP: Como não Programar em POG
17. MVC com PHP
● Instanciando minha aplicação
Cícero Moura PHP: Como não Programar em POG
18. MVC com PHP
● Gerenciando todas as requisições de classes do projeto
Cícero Moura PHP: Como não Programar em POG
19. MVC com PHP
● Classe App: Tratamento de URL e
direcionamento dos controllers e
métodos a serem executados.
Modelo de URL padrão:
www.dominio.com.br/controller/metodo/parametros
Cícero Moura PHP: Como não Programar em POG
20. MVC com PHP
● Decisão da View a ser chamada
Cícero Moura PHP: Como não Programar em POG
21. MVC com PHP
● Comunicação entre Model e View
Cícero Moura PHP: Como não Programar em POG
22. MVC com PHP
● Representação da tabelas do Banco de Dados
Cícero Moura PHP: Como não Programar em POG
23. MVC com PHP
● Conexão com o Banco de Dados
Cícero Moura PHP: Como não Programar em POG
24. MVC com PHP
● Classe da Model
Cícero Moura PHP: Como não Programar em POG
25. MVC com PHP
● Mostrando conteúdo na tela, exemplo de View.
Cícero Moura PHP: Como não Programar em POG
26. Utilize um Framework
● Framework é uma abstração que une códigos comuns entre vários projetos
de software provendo uma funcionalidade genérica.
● Um framework pode atingir uma funcionalidade específica, por configuração,
durante a programação de uma aplicação.
● Um framework é utilizado para automatizar atividades, organizar o projeto e
aumentar o desempenho na fase de desenvolvimento e manutenção da
aplicação.
● Exemplos: CakePHP, Zend Framework e Laravel.
Cícero Moura PHP: Como não Programar em POG
27. Laravel Framework PHP
● Atualmente na versão 5.3 suportando PHP 5.6.4
ou superior.
➔ Instalação via Composer
● Depois de executar o comando o seu projeto é
criado com todos os arquivos.
Cícero Moura PHP: Como não Programar em POG
32. Laravel Framework
● Definindo as tabelas do Banco de Dados pelo PHP
● Comando pelo terminal para criar as tabelas
Cícero Moura PHP: Como não Programar em POG
33. Laravel Framework
● Definindo as rotas da aplicação para redirecionar requisições a um
Controller e Método específico.
Cícero Moura PHP: Como não Programar em POG
34. Laravel Framework
● Criando e Implementando um Controller com método que pega parâmetros
da URL e repassa para a view da aplicação.
● Comando para criar um Controller
Cícero Moura PHP: Como não Programar em POG
35. Laravel Framework
● Implementando uma View que mostra o conteúdo direcionado pelo
Controller.
● blade é o mecanismo de templates fornecido com o Laravel
● URL: www.meusite.com.br/Home/FGSL
Cícero Moura PHP: Como não Programar em POG
36. Laravel Framework
● Executando o projeto para testes e acessando link para mostrar a view
● URL: localhost:8000/Home/FGSL
Cícero Moura PHP: Como não Programar em POG
37. Laravel Framework
● Implementando um Controller com método que pega dados do Banco de
Dados e repassa para a view da aplicação.
● URL: www.meusite.com.br/Products
Cícero Moura PHP: Como não Programar em POG
38. Laravel Framework
● Criando um template com seções para usar de base para outras views da
aplicação. Seções: titulo e conteudo:
Cícero Moura PHP: Como não Programar em POG
39. Laravel Framework
● Usando o template para mostrar o conteúdo encaminhado pelo Controller
Cícero Moura PHP: Como não Programar em POG
40. Dicas Finais
● Busque sempre se manter atualizado sobre as novas técnicas e tendências
de desenvolvimento.
● Use sempre bibliotecas e códigos testados e reconhecidos.
● Procure por materiais de estudo sempre atualizados.
● Tire dúvidas nas próprias documentações da linguagem, framework,
biblioteca…
➔ Links úteis:
http://www.php.net/manual/pt_BR/
https://getcomposer.org/
https://laravel.com/
http://laravel.artesaos.org/
Cícero Moura PHP: Como não Programar em POG