PHP: Como não Programar em POG
Dicas para criar soluções com Potencial
Cícero Moura
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
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!”
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
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
Quais são as formas de não utilizar POG?
Cícero Moura PHP: Como não Programar em POG
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
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
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
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
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
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
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
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
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
MVC com PHP
● Onde tudo se inicia.
● Configurando os redirecionamentos.
Cícero Moura PHP: Como não Programar em POG
MVC com PHP
● Instanciando minha aplicação
Cícero Moura PHP: Como não Programar em POG
MVC com PHP
● Gerenciando todas as requisições de classes do projeto
Cícero Moura PHP: Como não Programar em POG
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
MVC com PHP
● Decisão da View a ser chamada
Cícero Moura PHP: Como não Programar em POG
MVC com PHP
● Comunicação entre Model e View
Cícero Moura PHP: Como não Programar em POG
MVC com PHP
● Representação da tabelas do Banco de Dados
Cícero Moura PHP: Como não Programar em POG
MVC com PHP
● Conexão com o Banco de Dados
Cícero Moura PHP: Como não Programar em POG
MVC com PHP
● Classe da Model
Cícero Moura PHP: Como não Programar em POG
MVC com PHP
● Mostrando conteúdo na tela, exemplo de View.
Cícero Moura PHP: Como não Programar em POG
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
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
Laravel Framework
● Arquivos padrão do projeto criado
Cícero Moura PHP: Como não Programar em POG
Laravel Framework
● Configuração das variáveis de ambiente do projeto.
Cícero Moura PHP: Como não Programar em POG
Laravel Framework
● Conexão com o Banco de Dados
Cícero Moura PHP: Como não Programar em POG
Laravel Framework
● Criando os Models pela linha de comando
Cícero Moura PHP: Como não Programar em POG
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
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
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
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
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
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
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
Laravel Framework
● Usando o template para mostrar o conteúdo encaminhado pelo Controller
Cícero Moura PHP: Como não Programar em POG
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
Cícero Moura
cicerojmm@gmail.com

PHP: Como não programar em POG

  • 1.
    PHP: Como nãoProgramar em POG Dicas para criar soluções com Potencial Cícero Moura
  • 2.
    Roteiro ● Razões paraescolher 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 quedevo 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 qualo 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 queadotar 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 asformas de não utilizar POG? Cícero Moura PHP: Como não Programar em POG
  • 7.
    Utilize a últimaversã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 paraauxiliar 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 deVersã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 Gerenciadorde 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 eConfiguraçã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ãode 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
  • 28.
    Laravel Framework ● Arquivospadrão do projeto criado Cícero Moura PHP: Como não Programar em POG
  • 29.
    Laravel Framework ● Configuraçãodas variáveis de ambiente do projeto. Cícero Moura PHP: Como não Programar em POG
  • 30.
    Laravel Framework ● Conexãocom o Banco de Dados Cícero Moura PHP: Como não Programar em POG
  • 31.
    Laravel Framework ● Criandoos Models pela linha de comando Cícero Moura PHP: Como não Programar em POG
  • 32.
    Laravel Framework ● Definindoas 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 ● Definindoas 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 ● Criandoe 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 ● Implementandouma 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 ● Executandoo 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 ● Implementandoum 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 ● Criandoum 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 ● Usandoo template para mostrar o conteúdo encaminhado pelo Controller Cícero Moura PHP: Como não Programar em POG
  • 40.
    Dicas Finais ● Busquesempre 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
  • 41.