SlideShare uma empresa Scribd logo
1 de 22
Começando errado com
PHP
não continue
Quem sou?
Marcelo Diniz
Formado em Engenharia da Computação e
atuando na área de desenvolvimento web
desde 2006 com php e diversos bancos de
dados relacionais.
Para me achar é mais fácil aqui
about.me/marcelod
Faça o que eu digo, não faça o que eu faço
O que eu digo
Por onde começar certo
http://br.phptherightway.com/
use a última versão estável
conheça os gerenciadores de dependência
use um controle de versão
use um debug
escreva testes
conheça a linguagem, depois use um framework
Framework
Um framework, em desenvolvimento de software, é 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.
Framework é um conjunto de scripts feitos por pessoas mais inteligentes que
eu para eu programar de forma mais rápida, fácil e eficiente.
Framework de software compreende de um conjunto de classes
implementadas em uma linguagem específica, usadas para auxiliar o
desenvolvimento de software.
Framework
Assim como um bom mecânico, o programador deve
ter uma caixa de ferramentas recheada, que o
acompanha em suas jornadas de trabalho. É muito
importante conhecer os detalhes de cada
ferramenta, sabendo como usar, quando usar e até
quando evitar.
Como na oficina, a escolha da ferramenta certa pode
ser a diferança entre um trabalho tranquilo e rápido, ou
um festival de gambiarras.
Framework
•Já tentou soltar uma porca com um alicate de
bico?
•Ou apertar um parafuso com uma faca de
cozinha? De ponta?
•Ou martelar um prego com uma pedra?
•Ou medir paredes com régua escolar de 30cm?
Shell Script Profissional - Aurelio Marinho Jargas
PARE!!!
Não avance para os próximos slides.
O que eu digo
O que eu faço
Faço uso do framework Codeigniter
Então vamos ao errado...
Apresentação
Sobre o Codeigniter
Pontos
positivos (se é que tem :P )
negativos
MVC
Recursos
Demo
Sobre o Codeigniter
A primeira versão publicada foi feita no inicio
de 2006
No inicio de junho de 2013 a Ellislab enterra
seu filho.
Nesse tempo a comunidade e o php cresceram
muito, só o CI que nem tanto assim.
Pontos positivos
fácil instalação
rápido aprendizado
grande performance
comunidade ativa
boa documentação
php 5.1.6 ou superior
suporte aos principais bancos relacionais
Pontos negativos
poucas atualizações
não usa sessões nativas
sem orm
sem suporte a bancos não relacionais
não tem modulo de autenticação
orientação a objetos extremamente fraco
MVC
padrão de arquitetura de software
Model - representa sua estrutura de dados
View - informação que será aprensentada ao
usuário
Controller - serve como um intermediário entre
o model, a view e qualquer recurso necessário
para gerar a página web
Recursos
drivers
helpers
bibliotecas
Recursos - drivers
caching
database
javascript
Recursos - helpers
array
captcha
cookie
date
directory
download
e-mail
file
form
html
inflector
language
number
path
security
smiley
string
text
typography
url
xml
Recursos - bibliotecas
benchmarking
calendar
cart
config
email
encryption
file uploading
ftp
html
image manipul
input
loader
language
migration
output
pagination
security
session
trackback
typography
unit testing
uri
user agent
xmp-rpc
zip encoding
Demo
Criar uma home
Criar uma tela de produtos (listar do banco)
Criar uma tela de calendário
Criar uma tela de contato (salvar no banco)
https://github.com/CIBr/initerror
Perguntas
Obrigado
about.me/marcelod

Mais conteúdo relacionado

Mais procurados

Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosJúlio de Lima
 
WebCamps Software Testing
WebCamps Software TestingWebCamps Software Testing
WebCamps Software TestingRodrigo Vidal
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizadosMarcelo Andrade
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextosJúlio de Lima
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parecejesuinoPower
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayRenato Groff
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOakjesuinoPower
 
Testes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumTestes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumRenato Groff
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Renato Groff
 
Testes de software
Testes de softwareTestes de software
Testes de softwareVitor Castro
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellIgor Abade
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoLeonardo Galani
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPjesuinoPower
 
BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehaveIsmael
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Renato Groff
 

Mais procurados (20)

Mindset de QA em Diferentes Contextos
Mindset de QA em Diferentes ContextosMindset de QA em Diferentes Contextos
Mindset de QA em Diferentes Contextos
 
WebCamps Software Testing
WebCamps Software TestingWebCamps Software Testing
WebCamps Software Testing
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
 
Refactoring
RefactoringRefactoring
Refactoring
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Mindset do QA em diferentes contextos
Mindset do QA em diferentes contextosMindset do QA em diferentes contextos
Mindset do QA em diferentes contextos
 
A saga do desenvolvedor java
A saga do desenvolvedor javaA saga do desenvolvedor java
A saga do desenvolvedor java
 
Java não é tão difícil quanto parece
Java não é tão difícil quanto pareceJava não é tão difícil quanto parece
Java não é tão difícil quanto parece
 
POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Test-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding DayTest-Driven Development (TDD) - MSP Coding Day
Test-Driven Development (TDD) - MSP Coding Day
 
Introdução ao LiveOak
Introdução ao LiveOakIntrodução ao LiveOak
Introdução ao LiveOak
 
Testes de interfaces Web com Selenium
Testes de interfaces Web com SeleniumTestes de interfaces Web com Selenium
Testes de interfaces Web com Selenium
 
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016Behavior-Driven Development (BDD) - QA Ninja Conf 2016
Behavior-Driven Development (BDD) - QA Ninja Conf 2016
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Suporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShellSuporte a macros na sua aplicação com PowerShell
Suporte a macros na sua aplicação com PowerShell
 
Tester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitidoTester, pegue suas coisas, você está demitido
Tester, pegue suas coisas, você está demitido
 
Conectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SPConectando jBPM com o mundo - TDC 2014 SP
Conectando jBPM com o mundo - TDC 2014 SP
 
BDD JBehave
BDD JBehaveBDD JBehave
BDD JBehave
 
Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016Behavior-Driven Development (BDD) - DevOps Summit 2016
Behavior-Driven Development (BDD) - DevOps Summit 2016
 

Semelhante a Começando errado com php

PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraKleber Silva
 
Sete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoSete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoPlaneta Código
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Além do MVP com PHP - TDC POA 2015
Além do MVP com PHP  - TDC POA 2015Além do MVP com PHP  - TDC POA 2015
Além do MVP com PHP - TDC POA 2015Romeu Mattos
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkGiuseppe Lopes
 
Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkFlávio Lisboa
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariTaller Negócio Digitais
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorDaniel Brandão
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmáticaelliando dias
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilRafael Pinheiro
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Romeu Mattos
 

Semelhante a Começando errado com php (20)

PHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e SeguraPHP 5 de Forma Correta e Segura
PHP 5 de Forma Correta e Segura
 
PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Sete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoSete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De Sucesso
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Além do MVP com PHP - TDC POA 2015
Além do MVP com PHP  - TDC POA 2015Além do MVP com PHP  - TDC POA 2015
Além do MVP com PHP - TDC POA 2015
 
além do mvp com php
além do mvp com phpalém do mvp com php
além do mvp com php
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
Não deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do frameworkNão deixe seu projeto só nas mãos do framework
Não deixe seu projeto só nas mãos do framework
 
Componentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada frameworkComponentes Transformers: Combinando o melhor de cada framework
Componentes Transformers: Combinando o melhor de cada framework
 
Xamarin UI Test + BDD Specflow
Xamarin UI Test + BDD SpecflowXamarin UI Test + BDD Specflow
Xamarin UI Test + BDD Specflow
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian FerrariDrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
DrupalCamp SP 2015 - DevOps, por onde começar? Por Sebastian Ferrari
 
PHP: Como não programar em POG
PHP: Como não programar em POGPHP: Como não programar em POG
PHP: Como não programar em POG
 
Palestra - Profissão: Desenvolvedor
Palestra - Profissão: DesenvolvedorPalestra - Profissão: Desenvolvedor
Palestra - Profissão: Desenvolvedor
 
Programação Pragmática
Programação PragmáticaProgramação Pragmática
Programação Pragmática
 
Code Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágilCode Igniter - O Framework php mais fácil e ágil
Code Igniter - O Framework php mais fácil e ágil
 
Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016Além do MVP com PHP - TDC Floripa 2016
Além do MVP com PHP - TDC Floripa 2016
 

Começando errado com php