O documento discute programação modular em PHP, incluindo o desenvolvimento de funções, objetivos da modularização, escopo de variáveis, bibliotecas de funções e arquitetura de diretórios para aplicações PHP.
A palestra tem como objetivo mostrar ferramentas do mercado atual, como editores, funções úteis, micro-frameworks e algumas boas práticas que agilizem o processo de codificação. Apresentada na PHP Conference de 2013 - Osasco SP.
Um estudo comparativo entre frameworks PHP, analisando as diferentes abordagens, vantagens e desvantagens de cada um deles, a fim de entender em que situações cada um deles é mais adequado para uma aplicação.
Escrevi este mini curso de PHP que abrange desde o nível inicial básico até o intermediário/avançado. Este mini curso foi apresentado durante o evento WISM 2013, organizado pela PUC Minas Poços de Caldas, MG.
Pauta:
1. Introdução ao PHP;
2. Configuração do ambiente para desenvolvimento;
3. Variáveis em PHP;
4. Comandos Condicionais e Controle de fluxo;
5. Controle de fluxo: Switch;
6. Controle de fluxo: Laços de repetição;
7. Arrays em PHP;
8. Funções em PHP;
9. PHP e Banco de Dados MySQL;
10. PHP Orientado a Objetos;
11.Visão Geral: Frameworks PHP;
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
Nesta palestra são abordados alguns desafios a serem enfrentados na criação de um Framework PHP open-source e também os obstáculos a serem superados para que o mesmo evolua tecnologicamente, mantendo a retrocompatibilidade e uma base de usuários ativa, fazendo o uso correto de seus conceitos.
Slides de apresentação introdutória ao framework CakePHP. Contém conceitos e trechos de código ilustrativos de uso da ferramenta. Na apresentação apresento ainda exemplos de código da aplicação contruída além de todo o networking e troca de experiências.
Originalmente ministrada a uma plateia de estudantes no evento BelemCodeIn2015() em 08 de maio de 2015 no IFPA em Belém.
Apresentação feita em 2008 no Software Freedom Day, baseada em outra apresentação com mesmo título apresentada por mim e pelo Bruno Fernandes Porkaria no Dia D do mesmo ano.
A palestra tem como objetivo mostrar ferramentas do mercado atual, como editores, funções úteis, micro-frameworks e algumas boas práticas que agilizem o processo de codificação. Apresentada na PHP Conference de 2013 - Osasco SP.
Um estudo comparativo entre frameworks PHP, analisando as diferentes abordagens, vantagens e desvantagens de cada um deles, a fim de entender em que situações cada um deles é mais adequado para uma aplicação.
Escrevi este mini curso de PHP que abrange desde o nível inicial básico até o intermediário/avançado. Este mini curso foi apresentado durante o evento WISM 2013, organizado pela PUC Minas Poços de Caldas, MG.
Pauta:
1. Introdução ao PHP;
2. Configuração do ambiente para desenvolvimento;
3. Variáveis em PHP;
4. Comandos Condicionais e Controle de fluxo;
5. Controle de fluxo: Switch;
6. Controle de fluxo: Laços de repetição;
7. Arrays em PHP;
8. Funções em PHP;
9. PHP e Banco de Dados MySQL;
10. PHP Orientado a Objetos;
11.Visão Geral: Frameworks PHP;
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
Nesta palestra são abordados alguns desafios a serem enfrentados na criação de um Framework PHP open-source e também os obstáculos a serem superados para que o mesmo evolua tecnologicamente, mantendo a retrocompatibilidade e uma base de usuários ativa, fazendo o uso correto de seus conceitos.
Slides de apresentação introdutória ao framework CakePHP. Contém conceitos e trechos de código ilustrativos de uso da ferramenta. Na apresentação apresento ainda exemplos de código da aplicação contruída além de todo o networking e troca de experiências.
Originalmente ministrada a uma plateia de estudantes no evento BelemCodeIn2015() em 08 de maio de 2015 no IFPA em Belém.
Apresentação feita em 2008 no Software Freedom Day, baseada em outra apresentação com mesmo título apresentada por mim e pelo Bruno Fernandes Porkaria no Dia D do mesmo ano.
Projeto de articulação curricular:
"aLeR+ o Ambiente - Os animais são nossos amigos" - Seleção de poemas da obra «Bicho em perigo», de Maria Teresa Maia Gonzalez
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, Betel, Ordenança para buscar a paz e fazer o bem, 2Tr24, Pr Henrique, EBD NA TV, 2° TRIMESTRE DE 2024, ADULTOS, EDITORA BETEL, TEMA, ORDENANÇAS BÍBLICAS, Doutrina Fundamentais Imperativas aos Cristãos para uma vida bem-sucedida e de Comunhão com DEUS, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Comentários, Bispo Abner Ferreira, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
Slides Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 10, CPAD, Desenvolvendo uma Consciência de Santidade, 2Tr24, Pr Henrique, EBD NA TV, Lições Bíblicas, 2º Trimestre de 2024, adultos, Tema, A CARREIRA QUE NOS ESTÁ PROPOSTA, O CAMINHO DA SALVAÇÃO, SANTIDADE E PERSEVERANÇA PARA CHEGAR AO CÉU, Coment Osiel Gomes, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, de Almeida Silva, tel-What, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique, https://ebdnatv.blogspot.com/
Slides Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24.pptxLuizHenriquedeAlmeid6
Slideshare Lição 9, Central Gospel, As Bodas Do Cordeiro, 1Tr24, Pr Henrique, EBD NA TV, Revista ano 11, nº 1, Revista Estudo Bíblico Jovens E Adultos, Central Gospel, 2º Trimestre de 2024, Professor, Tema, Os Grandes Temas Do Fim, Comentarista, Pr. Joá Caitano, estudantes, professores, Ervália, MG, Imperatriz, MA, Cajamar, SP, estudos bíblicos, gospel, DEUS, ESPÍRITO SANTO, JESUS CRISTO, Com. Extra Pr. Luiz Henrique, 99-99152-0454, Canal YouTube, Henriquelhas, @PrHenrique
1. Programação Modular:
desenvolvimento de funções
Prof. Mauricio Garcia Nascimento
Prof. Daniel Arndt Alves
Introdução ao Desenvolvimento de Sistemas Web com PHP
Programa de Verão IME-USP 2014
2. Objetivos
Reutilização de código
Maior clareza e limpeza no código
Modularização
Agrupamento de funções em módulos específicos
!
Base para a Programação Orientada a Objetos
!2
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
3. Funções no PHP
Devem ter um nome exclusivo
case insensitive
Podem ter lista de parâmetros
Podem retornar valor ao código
function ola() {
echo 'Olá Mundo';
return true;
}
function incrementa($valor) {
$ret = $valor + 1;
return $ret;
}
ola();
echo incrementa(1);
$b = incrementa(2) * 10;
!
!3
!
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
//2
//30
4. Parâmetro opcional
function somar($a, $b=10, $c=20) {
return $a + $b + $c;
}
!
echo somar(10, 20, 30);
echo somar(3, 5);
echo somar(50);
//60
//28
//80
function fmt_data($timestamp, $fmt='d/m/Y') {
return date($fmt, $timestamp);
}
!
$ts = time();
echo fmt_data($ts, 'd/m H:i');
echo fmt_data($ts);
!4
// 25/09 20:55
// 25/09/2007
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
5. Escopo das variáveis nas funções
// escopo local
function incr($a) {
$a++;
return $a;
}
!
$a = 1;
echo incr($a);
echo $a;
!5
//?
//?
// escopo global
function incr2() {
global $a;
$a++;
return $a;
}
!
$a = 1;
echo incr2();
echo $a;
//?
//?
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
6. Função recursiva
function fatorial($n) {
!
!
//condição de saída
if (0 == $n) {
return 1;
}
return $n * fatorial($n-1);
}
!
echo fatorial(5);
!6
// 120
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
7. Inclusão de funções no código
Podem ser inseridas em qualquer porção do código principal
Chamada de uma função pode até mesmo ser feita antes da
sua declaração
function f1() { /*corpo da função f1*/ }
function f2() { /*corpo da função f2*/ }
!
echo f1();
echo f2() + 10;
echo f3() + f2();
!
function f3() { /*corpo da função f3*/ }
!7
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
8. Biblioteca de funções
Declaração de funções em arquivos específicos (bibliotecas)
Sugestões:
Arquivos com extensão *.inc.php
Diretório específico para biblioteca de funções
data.inc.php
<?php
function d1() { ... }
function d2() { ... }
...
function d10() { ... }
?>
aritmetico.inc.php
<?php
function m1() { ... }
...
function m10() { ... }
?>
!8
principal.php
<?php
// ...
echo d1();
echo m1() + m2();
?>
listagem.php
<?php
// ...
echo d10();
?>
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
10. Arquitetura de diretórios da aplicação
http://servidor/principal.php
/var
/www
http://servidor/login.php
principal.php
login.php
!
aritmetico.inc.php
http://servidor/menu.inc.php
menu.inc.php
http://servidor/logs/acessos.txt
usuario.class.php
/logs
http://servidor/config/parametros.php
acessos.txt
/config
parametros.php
!10
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
11. Arquitetura de diretórios da aplicação
Boa prática
Não armazenar bibliotecas e arquivos auxiliares em diretórios visíveis ao
Servidor Web
/var
/www
principal.php
login.php
/logs
acessos.txt
/config
parametros.php
/lib
aritmetico.inc.php
menu.inc.php
usuario.class.php
!11
http://servidor/principal.php
http://servidor/login.php
principal.php
<?php
require_once('../config/parametros.php');
require_once('../lib/menu.inc.php');
...
?>
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br
12. Arquitetura de diretórios da aplicação
Segurança de arquivos
Apenas expor arquivos realmente necessários dentro do
diretório do Servidor Web
Arquivos PHP requisitados diretamente pelo usuário
Imagens, Javascript, Folhas de Estilo, ...
Demais arquivos (requisitados apenas
pela aplicação), não devem estar visíveis
!12
/var
/www
/js
/img
/css
/lib
/class
/config
/logs
Introdução ao Desenvolvimento de Sistemas Web com PHP - Programa de Verão IME-USP 2014
Prof. Mauricio Garcia Nascimento - mauricio@ime.usp.br - todos os direitos reservados
Prof. Daniel Arndt Alves – progdan@progdan.pro.br