SlideShare a Scribd company logo
1 of 20
Programação para WEB ,[object Object],[object Object],Implementando a Arquitetura MVC em PHP
MVC – Modelo, Visão, Controlador ,[object Object],[object Object],[object Object],[object Object],[object Object]
MVC – Modelo, Visão, Controlador ,[object Object],[object Object]
Arquitetura MVC exibe o modelo Consulta ou altera o modelo define que visão será exibida
MVC – Modelo, Visão, Controlador ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitetura MVC – Resumo  ,[object Object],[object Object],[object Object]
Arquitetura MVC
Exemplo 1 – MVC Super Simples ,[object Object],[object Object],[object Object],[object Object]
Modelo - pessoa.php <?php class   Pessoa   { private   $nome ,   $fone ; function   __construct( $nome ,   $fone )   { $this ->nome   =   $nome ; $this ->fone   =   $fone ; } function   getNome()   { return   $this ->nome; } function   getFone()   { return   $this ->fone; } } ?>
Controlador - pessoa_controlador.php <?php require_once ( 'pessoa.php' ); class   PessoaControlador   { function   mostra()   { $pessoa   =   new   Pessoa( 'Maria' , '(86)3323-1234' ); require_once ( 'pessoa_visao.php' ); } } $pc   =   new   PessoaControlador(); $pc ->mostra(); ?>
Visão - pessoa_visao.php < html > < head > < title > Pessoa </ title > </ head > < body >   < h1 > Pessoa - Visão </ h1 > < p > Nome:  <? =   $pessoa ->getNome()   ?> </ p > < p > Fone:  <? =   $pessoa ->getFone()   ?> </ p > </ body > </ html >
Exemplo 2 – MVC com Dispatcher ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dispatcher - index.php <?php $arq_controlador   =   $_GET [controlador]. '_controlador' ; $acao   =   $_GET [acao]; $classe_controlador   =   str_replace( '_' ,   ' ' ,   $arq_controlador ); $classe_controlador   =   ucwords( $classe_controlador ); $classe_controlador   =   str_replace( ' ' ,   '' ,   $classe_controlador ); require_once ( $arq_controlador . '.php' ); $obj   =   new   $classe_controlador ; call_user_func( array ( $obj ,   $acao ), $_REQUEST ); ?>
Controlador - pessoa_controlador.php <?php require_once ( 'pessoa.php' ); class   PessoaControlador   { function   mostra()   { $pessoa   =   new   Pessoa( 'Maria' , '(86)3323-1234' ); require_once ( 'pessoa_visao.php' ); } } ?>
Usando convenções ,[object Object],[object Object],[object Object],[object Object],[object Object]
Convenções no Dispatcher <?php $arquivo_controlador   =   $_GET [controlador]   ?   $_GET [controlador]. '_controlador'   :   'home_controlador' ; $acao   =   $_GET [acao]   ?   $_GET [acao]   :   'index' ; $classe_controlador   =   str_replace( '_' ,   ' ' ,   $arquivo_controlador ); $classe_controlador   =   ucwords( $classe_controlador ); $classe_controlador   =   str_replace( ' ' ,   '' ,   $classe_controlador ); require_once ( $arquivo_controlador . '.php' ); $obj   =   new   $classe_controlador ; call_user_func( array ( $obj ,   $acao ), $_REQUEST ); ?>
Problemas ,[object Object],[object Object],[object Object],[object Object]
Solução ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Reescrita de URL ,[object Object],[object Object],[object Object],[object Object],<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule>
Testando a Reescrita - index.php <?php $parametros   =   explode( '/' , $_GET [ 'url' ]); $controlador   =   $parametros [ 0 ]; $acao   =   $parametros [ 1 ]; ?> < html > < head > < title > Testa Reescrita </ title > </ head > < body > < h1 > Testa Reescrita </ h1 > < p > URL:  <? =   $_GET [ 'url' ]   ?> </ p > < p > Controlador:  <? =   $controlador   ?> </ p > < p > Ação:  <? =   $acao   ?> </ p > </ body > </ html >

More Related Content

What's hot

Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIinfo_cimol
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryHarlley Oliveira
 
Introdução ao Smarty
Introdução ao SmartyIntrodução ao Smarty
Introdução ao SmartyNelson Gomes
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkMarcelo Rodrigo
 
Estruturas blade-repeticao
Estruturas blade-repeticaoEstruturas blade-repeticao
Estruturas blade-repeticaoRenato Lucena
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesDaniel Brandão
 
LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09Carlos Santos
 
DevTalk Zoox 04/2016
DevTalk Zoox 04/2016DevTalk Zoox 04/2016
DevTalk Zoox 04/2016Leandro Silva
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesCarlos Santos
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5garux
 

What's hot (20)

Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites II
 
Aula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQLAula 01 - Curso PHP e MySQL
Aula 01 - Curso PHP e MySQL
 
Melhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQueryMelhorando a Experiência do Usuário com JavaScript e jQuery
Melhorando a Experiência do Usuário com JavaScript e jQuery
 
Introdução ao Smarty
Introdução ao SmartyIntrodução ao Smarty
Introdução ao Smarty
 
Desenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana frameworkDesenvolvimento ágil com Kohana framework
Desenvolvimento ágil com Kohana framework
 
Estruturas blade-repeticao
Estruturas blade-repeticaoEstruturas blade-repeticao
Estruturas blade-repeticao
 
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
Doctrine2 Seminário PHP
Doctrine2 Seminário PHPDoctrine2 Seminário PHP
Doctrine2 Seminário PHP
 
Java script aula 08 - formulários
Java script   aula 08 - formuláriosJava script   aula 08 - formulários
Java script aula 08 - formulários
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 
PHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e SessoesPHP Aula 05 - E-mails, Cookies e Sessoes
PHP Aula 05 - E-mails, Cookies e Sessoes
 
Php
PhpPhp
Php
 
Java script aula 05 - funções
Java script   aula 05 - funçõesJava script   aula 05 - funções
Java script aula 05 - funções
 
LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09LabMM3 - Aula teórica 09
LabMM3 - Aula teórica 09
 
DevTalk Zoox 04/2016
DevTalk Zoox 04/2016DevTalk Zoox 04/2016
DevTalk Zoox 04/2016
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Java script aula 02 - operadores
Java script   aula 02 - operadoresJava script   aula 02 - operadores
Java script aula 02 - operadores
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - Funções
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
Perl Moderno, dia5
Perl Moderno, dia5Perl Moderno, dia5
Perl Moderno, dia5
 

Viewers also liked

Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxAlmir Neto
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoAlexandre Andrade
 
Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasAnderson de Castro
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPDaniel Arndt Alves
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHPCezar Souza
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHPHumberto Moura
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONAmbiente Livre
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXOtávio Calaça Xavier
 
Web Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAPWeb Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAPElwin Huaman
 
Como implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHPComo implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHPPablo Aguiar
 
Construindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreConstruindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreElton Minetto
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPRamon Ribeiro Rabello
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPDavid J. Brenes
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHPZoran Jeremic
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLRogerio de Moraes
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reesebuildacloud
 

Viewers also liked (20)

Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
 
Usando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimentoUsando MVC para agilizar o desenvolvimento
Usando MVC para agilizar o desenvolvimento
 
Palestra Flisol 2012 - Campinas
Palestra Flisol 2012 - CampinasPalestra Flisol 2012 - Campinas
Palestra Flisol 2012 - Campinas
 
Strings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHPStrings, Arrays e Manipulação Datas em PHP
Strings, Arrays e Manipulação Datas em PHP
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
Variaveis Superglobais
Variaveis SuperglobaisVariaveis Superglobais
Variaveis Superglobais
 
Cookies e Sessões e PHP
Cookies e Sessões e PHPCookies e Sessões e PHP
Cookies e Sessões e PHP
 
Criando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSONCriando e consumindo webservice REST com PHP e JSON
Criando e consumindo webservice REST com PHP e JSON
 
Aula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHPAula 5 - Cookies e Sessões em PHP
Aula 5 - Cookies e Sessões em PHP
 
Desenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHPDesenvolvimento Mobile Web usando PHP
Desenvolvimento Mobile Web usando PHP
 
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAXDesenvolvimento em três camadas com PHP 5, MVC e AJAX
Desenvolvimento em três camadas com PHP 5, MVC e AJAX
 
Web Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAPWeb Service and PHP, REST and SOAP
Web Service and PHP, REST and SOAP
 
Como implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHPComo implementar APIs RESTful em PHP
Como implementar APIs RESTful em PHP
 
Construindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software LivreConstruindo uma Rede Social com PHP e Software Livre
Construindo uma Rede Social com PHP e Software Livre
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHP
 
Consuming RESTful services in PHP
Consuming RESTful services in PHPConsuming RESTful services in PHP
Consuming RESTful services in PHP
 
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQLDesenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
Desenvolvimento de Sistema CRUD (MVC) PHP / MYSQL
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reese
 

Similar to Php 05 Mvc

Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpRodrigo Aramburu
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCZarathon Maia
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraDavid O'Keefe
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Thyago Maia
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Frameworkelliando dias
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-ptPedro Sousa
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPMarcelo Andrade
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkPablo Dall'Oglio
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifaguestea329c
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniterRaniere de Lima
 

Similar to Php 05 Mvc (20)

Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Desenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephpDesenvolvendo aplicações web com o framework cakephp
Desenvolvendo aplicações web com o framework cakephp
 
Apresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVCApresentação Java Web Si Ufc Quixadá - MVC
Apresentação Java Web Si Ufc Quixadá - MVC
 
Lampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 PalestraLampada Php Conference Brasil 2007 Palestra
Lampada Php Conference Brasil 2007 Palestra
 
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
Desenvolvimento de sistemas web com PHP Frameworks - Aula 2
 
Angular js
Angular jsAngular js
Angular js
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
ApresentaçãO Mvc
ApresentaçãO MvcApresentaçãO Mvc
ApresentaçãO Mvc
 
Apresentação M V C
Apresentação M V CApresentação M V C
Apresentação M V C
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Workshop Ruby on Rails dia 2 ruby-pt
Workshop Ruby on Rails dia 2  ruby-ptWorkshop Ruby on Rails dia 2  ruby-pt
Workshop Ruby on Rails dia 2 ruby-pt
 
Desenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHPDesenvolvimento para a Web com CakePHP
Desenvolvimento para a Web com CakePHP
 
Tutorial Dwr - Configuração e Uso
Tutorial Dwr - Configuração e UsoTutorial Dwr - Configuração e Uso
Tutorial Dwr - Configuração e Uso
 
Programando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um FrameworkProgramando para programadores: Desafios na evolução de um Framework
Programando para programadores: Desafios na evolução de um Framework
 
Php 07 Cakephp
Php 07 CakephpPhp 07 Cakephp
Php 07 Cakephp
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre TarifaASP.NET MVC - Alexandre Tarifa
ASP.NET MVC - Alexandre Tarifa
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Slide 01 introdução ao php e ao code igniter
Slide 01   introdução ao php e ao code igniterSlide 01   introdução ao php e ao code igniter
Slide 01 introdução ao php e ao code igniter
 
Mvc delphi
Mvc delphiMvc delphi
Mvc delphi
 

More from Regis Magalhães

Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Regis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Regis Magalhães
 

More from Regis Magalhães (20)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011Linked Data Tutorial - Conferencia W3C Brasil 2011
Linked Data Tutorial - Conferencia W3C Brasil 2011
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 

Php 05 Mvc

  • 1.
  • 2.
  • 3.
  • 4. Arquitetura MVC exibe o modelo Consulta ou altera o modelo define que visão será exibida
  • 5.
  • 6.
  • 8.
  • 9. Modelo - pessoa.php <?php class Pessoa { private $nome , $fone ; function __construct( $nome , $fone ) { $this ->nome = $nome ; $this ->fone = $fone ; } function getNome() { return $this ->nome; } function getFone() { return $this ->fone; } } ?>
  • 10. Controlador - pessoa_controlador.php <?php require_once ( 'pessoa.php' ); class PessoaControlador { function mostra() { $pessoa = new Pessoa( 'Maria' , '(86)3323-1234' ); require_once ( 'pessoa_visao.php' ); } } $pc = new PessoaControlador(); $pc ->mostra(); ?>
  • 11. Visão - pessoa_visao.php < html > < head > < title > Pessoa </ title > </ head > < body > < h1 > Pessoa - Visão </ h1 > < p > Nome: <? = $pessoa ->getNome() ?> </ p > < p > Fone: <? = $pessoa ->getFone() ?> </ p > </ body > </ html >
  • 12.
  • 13. Dispatcher - index.php <?php $arq_controlador = $_GET [controlador]. '_controlador' ; $acao = $_GET [acao]; $classe_controlador = str_replace( '_' , ' ' , $arq_controlador ); $classe_controlador = ucwords( $classe_controlador ); $classe_controlador = str_replace( ' ' , '' , $classe_controlador ); require_once ( $arq_controlador . '.php' ); $obj = new $classe_controlador ; call_user_func( array ( $obj , $acao ), $_REQUEST ); ?>
  • 14. Controlador - pessoa_controlador.php <?php require_once ( 'pessoa.php' ); class PessoaControlador { function mostra() { $pessoa = new Pessoa( 'Maria' , '(86)3323-1234' ); require_once ( 'pessoa_visao.php' ); } } ?>
  • 15.
  • 16. Convenções no Dispatcher <?php $arquivo_controlador = $_GET [controlador] ? $_GET [controlador]. '_controlador' : 'home_controlador' ; $acao = $_GET [acao] ? $_GET [acao] : 'index' ; $classe_controlador = str_replace( '_' , ' ' , $arquivo_controlador ); $classe_controlador = ucwords( $classe_controlador ); $classe_controlador = str_replace( ' ' , '' , $classe_controlador ); require_once ( $arquivo_controlador . '.php' ); $obj = new $classe_controlador ; call_user_func( array ( $obj , $acao ), $_REQUEST ); ?>
  • 17.
  • 18.
  • 19.
  • 20. Testando a Reescrita - index.php <?php $parametros = explode( '/' , $_GET [ 'url' ]); $controlador = $parametros [ 0 ]; $acao = $parametros [ 1 ]; ?> < html > < head > < title > Testa Reescrita </ title > </ head > < body > < h1 > Testa Reescrita </ h1 > < p > URL: <? = $_GET [ 'url' ] ?> </ p > < p > Controlador: <? = $controlador ?> </ p > < p > Ação: <? = $acao ?> </ p > </ body > </ html >