SlideShare uma empresa Scribd logo
1 de 15
Criando e usando
       Helpers


Cake - O melhor desse bolo e o recheio.
Joao Vagner Brito de Medeiros
Trabalho a mais de 6 anos com PHP, e a 4 com CAKEPHP, desenvolvendo projetos
complexos aos mais simples.
Socio Proprietário Da Iw2. Patrocinadora do CAKE SP.
Blogueiro Quase-profissional: blog.joaovagner.com.br / technocil.com.br
Contatos:
   MSN: joao.vagner@msn.com
   Gtalk: joao.vagner@gmail.com
   IRC: #iw2servers - Rede #Freenode




A Iw2 e uma empresa que esta a mais de 10 anos no mercado de
hospedagem web. Com foco para o Desenvolvedor e seus clientes.
Oferecendo uma plataforma completa e segura para hospedagem
            profissional a preços justos e acessiveis.

                Suporte via MSN, Gtalk e IRC.
Requisitos Minimos


Assumindo que possui Conhecimento em PHP e
o entendimento básico sobre programação
orientada a objetos (POO).
Há diferentes funcionalidades dentro do
framework usando diferentes tecnologias - como
SQL, JavaScript e XML.
Características


CakePHP possui a característica de usar as classes de
Controlador, Modelo e Visão, O nosso amigo MVC
( Model, View, Controller).
       Mas podemos criar classes e objetos adicionais que fazem o
       desenvolvimento em MVC mais rápido e agradável. Components,
       Behaviors e Helpers são classes que proporcionam extensibilidade e reuso
       do codigo e funcionalidades que rapidamente se adaptam ao conceito
       MVC.

Porem cada um no seu Quadrado. A estrutura de pasta
e sempre mantida no Padrão.
Características



Antes de Criar e preciso saber usar os helpers nativos, vamos
começar com o HTML.

     O que o helper HTML pode me proporcionar?

            Horas de menos digitação no seu projeto: Tags HTML para voce, permitindo que boa
            parte do desenvolvimento se atenha ao que importa, regra de negocio!


     Charsets, Link CSS, Meta Tags, Doctypes, Styles, Imagens, Links, Tags
     Diversas, Div, Paragrafos, Escrita facil de tabelas HTML, e formação de Links.
Helper HTML, facilitando a vida
Charset Padrao ou
personalizado.                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />




                             <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />




Links Diretos ao seus CSS

                         <link rel="stylesheet" type="text/css" href="/css/forms.css" />
                         <link rel="stylesheet" type="text/css" href="/css/tables.css" />
                         <link rel="stylesheet" type="text/css" href="/css/menu.css" />




Meta Tags de facil acesso.


Definição de Doctype
simples
Helper HTML, facilitando a vida: Links

Gerando Links




    ?         Ao invez de escrever em PHP
             porque não direto em HTML?
                                                            ?
!
       Diversos motivos, alguns mais importantes:
    1 - Pode gerar links mais dinamicamente integrando aos controllers e
    actions.
    2 - Tratamento do link e suas variaveis
    3 - Geração de Links com confirmação de execução da ação com
    javascript.
Helper HTML, facilitando a vida: Links

Integração com Controllers e Actions



Links com confirmações




Links com imagens
Agora que ja conhece
bem um helper, que tal
     criar o seu?

Criando um Helper para gerar PDF com
            JavaScript
O Conceito

   A ideia e pegar uma parte ou um trecho da pagina e gerar
   um simples PDF com isso. Utilizando a Biblioteca JsPDF
                                                            Site do Projeto:

   Dependências
                                                            http://code.google.com/p/jspdf/




A biblioteca precisa de alguns arquivos JavaScript para funcionar perfeitamente.

Basta adicionar os arquivos a pasta /webroot/js, e chama-los no layout principal em:
/app/views/layouts/default.ctp
A OBRA DE ARTE
Informações Gerais


Em um helper pode usar outros helper



Nome da Classe sempre terminando em Helper, veja abaixo?




Sempre extentendo a Classe AppHelper
O Codigo
Gerando o Link
Usando

Mais conteúdo relacionado

Mais procurados

Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoWordCamp Floripa
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAWilson Mendes
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBPeslPinguim
 
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel  - Core web vitals e WordPressWordCamp Floripa 2021 - Daniel  - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPressWordCamp Floripa
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaFrederico Maia Arantes
 
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSGUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSWordCamp Floripa
 
SEO - Otimização de Sites
SEO - Otimização de SitesSEO - Otimização de Sites
SEO - Otimização de SitesRicardo Martins
 
Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Sérgio Vilar
 
Historia do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no androidHistoria do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no androidPaulo Sato
 
Passo a Passo SEO - Otimização de Sites para Sistemas de Busca
Passo a Passo SEO - Otimização de Sites para Sistemas de BuscaPasso a Passo SEO - Otimização de Sites para Sistemas de Busca
Passo a Passo SEO - Otimização de Sites para Sistemas de BuscaEnlink
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do morehfsantos
 
Novidades asp.net mvc 4
Novidades asp.net mvc 4Novidades asp.net mvc 4
Novidades asp.net mvc 4Cleber Dantas
 
React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UICleiton Francisco
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.jsJoel Rodrigues
 

Mais procurados (20)

Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe Figueiredo
 
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDAANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
ANGULARJS: UM FRAMEWORK PARA FACILITAR SUA VIDA
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
 
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel  - Core web vitals e WordPressWordCamp Floripa 2021 - Daniel  - Core web vitals e WordPress
WordCamp Floripa 2021 - Daniel - Core web vitals e WordPress
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
 
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOSGUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
GUTENBERG EM PRODUÇÃO: QUALIDADES, DESAFIOS
 
Wordpress basico
Wordpress basicoWordpress basico
Wordpress basico
 
Facebook flux
Facebook fluxFacebook flux
Facebook flux
 
SEO - Otimização de Sites
SEO - Otimização de SitesSEO - Otimização de Sites
SEO - Otimização de Sites
 
Php11
Php11Php11
Php11
 
Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)Estrutura de um Front-End eficiente (para iniciantes)
Estrutura de um Front-End eficiente (para iniciantes)
 
Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3
 
Historia do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no androidHistoria do mvc, mvp e mvvm no android
Historia do mvc, mvp e mvvm no android
 
PWA
PWAPWA
PWA
 
Passo a Passo SEO - Otimização de Sites para Sistemas de Busca
Passo a Passo SEO - Otimização de Sites para Sistemas de BuscaPasso a Passo SEO - Otimização de Sites para Sistemas de Busca
Passo a Passo SEO - Otimização de Sites para Sistemas de Busca
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
 
Novidades asp.net mvc 4
Novidades asp.net mvc 4Novidades asp.net mvc 4
Novidades asp.net mvc 4
 
React - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UIReact - Biblioteca Javascript para criação de UI
React - Biblioteca Javascript para criação de UI
 
Primeiros passos no Vue.js
Primeiros passos no Vue.jsPrimeiros passos no Vue.js
Primeiros passos no Vue.js
 
Framework web 02 - 2016
Framework web 02 - 2016Framework web 02 - 2016
Framework web 02 - 2016
 

Destaque

maquinas virtuales
maquinas virtualesmaquinas virtuales
maquinas virtualesanllytunena
 
Plano De Aula Capistrano Abreu
Plano De Aula Capistrano AbreuPlano De Aula Capistrano Abreu
Plano De Aula Capistrano Abreujanioguga
 
Indicadores de Gestión para la Acreditación Universitaria
Indicadores de Gestión para la Acreditación UniversitariaIndicadores de Gestión para la Acreditación Universitaria
Indicadores de Gestión para la Acreditación UniversitariaMario Vogel
 
Acidente Vascular Cerebral
Acidente Vascular CerebralAcidente Vascular Cerebral
Acidente Vascular CerebralAntonio Lopes
 
Regimen Juridico del Contrato Estatal
Regimen Juridico del Contrato EstatalRegimen Juridico del Contrato Estatal
Regimen Juridico del Contrato EstatalMaria Claudia
 

Destaque (8)

Ciclo da Vida 2A
Ciclo da Vida 2ACiclo da Vida 2A
Ciclo da Vida 2A
 
maquinas virtuales
maquinas virtualesmaquinas virtuales
maquinas virtuales
 
Plano De Aula Capistrano Abreu
Plano De Aula Capistrano AbreuPlano De Aula Capistrano Abreu
Plano De Aula Capistrano Abreu
 
GráFico
GráFicoGráFico
GráFico
 
Indicadores de Gestión para la Acreditación Universitaria
Indicadores de Gestión para la Acreditación UniversitariaIndicadores de Gestión para la Acreditación Universitaria
Indicadores de Gestión para la Acreditación Universitaria
 
Copa do Mundo no Brasil 2014
Copa do Mundo no Brasil  2014Copa do Mundo no Brasil  2014
Copa do Mundo no Brasil 2014
 
Acidente Vascular Cerebral
Acidente Vascular CerebralAcidente Vascular Cerebral
Acidente Vascular Cerebral
 
Regimen Juridico del Contrato Estatal
Regimen Juridico del Contrato EstatalRegimen Juridico del Contrato Estatal
Regimen Juridico del Contrato Estatal
 

Semelhante a Criando e usando Helpers para gerar PDF

#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5Leandro Santos
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojofabioginzel
 
Apresentação blogs
Apresentação blogsApresentação blogs
Apresentação blogsluizaselis
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPressGuga Alves
 
Road Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúRoad Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúClécio Bachini
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxLuiz Antonio
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal Clécio Bachini
 
Introdução de web
Introdução de webIntrodução de web
Introdução de webSedu
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012Fábio Flatschart
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBFábio Flatschart
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev IntroduçãoMarcio Marinho
 
Iniciando em html5 seleção gustavo
Iniciando em html5   seleção gustavoIniciando em html5   seleção gustavo
Iniciando em html5 seleção gustavoGustavo Passos
 

Semelhante a Criando e usando Helpers para gerar PDF (20)

#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5#DeveloperDay - Front-end API html5
#DeveloperDay - Front-end API html5
 
Programação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com DojoProgramação Web com Zend Framework e Ajax com Dojo
Programação Web com Zend Framework e Ajax com Dojo
 
Apresentação blogs
Apresentação blogsApresentação blogs
Apresentação blogs
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPress
 
Cake Php
Cake PhpCake Php
Cake Php
 
Road Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúRoad Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - Jaú
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal
 
Introdução de web
Introdução de webIntrodução de web
Introdução de web
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012
 
Html5 em 15_minutos
Html5 em 15_minutosHtml5 em 15_minutos
Html5 em 15_minutos
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
 
Aula 02 introdução ao php
Aula 02   introdução ao phpAula 02   introdução ao php
Aula 02 introdução ao php
 
Java Web Dev Introdução
Java Web Dev IntroduçãoJava Web Dev Introdução
Java Web Dev Introdução
 
HTML 5 e Open Web Platform
HTML 5 e Open Web PlatformHTML 5 e Open Web Platform
HTML 5 e Open Web Platform
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Iniciando em html5 seleção gustavo
Iniciando em html5   seleção gustavoIniciando em html5   seleção gustavo
Iniciando em html5 seleção gustavo
 

Criando e usando Helpers para gerar PDF

  • 1. Criando e usando Helpers Cake - O melhor desse bolo e o recheio.
  • 2. Joao Vagner Brito de Medeiros Trabalho a mais de 6 anos com PHP, e a 4 com CAKEPHP, desenvolvendo projetos complexos aos mais simples. Socio Proprietário Da Iw2. Patrocinadora do CAKE SP. Blogueiro Quase-profissional: blog.joaovagner.com.br / technocil.com.br Contatos: MSN: joao.vagner@msn.com Gtalk: joao.vagner@gmail.com IRC: #iw2servers - Rede #Freenode A Iw2 e uma empresa que esta a mais de 10 anos no mercado de hospedagem web. Com foco para o Desenvolvedor e seus clientes. Oferecendo uma plataforma completa e segura para hospedagem profissional a preços justos e acessiveis. Suporte via MSN, Gtalk e IRC.
  • 3. Requisitos Minimos Assumindo que possui Conhecimento em PHP e o entendimento básico sobre programação orientada a objetos (POO). Há diferentes funcionalidades dentro do framework usando diferentes tecnologias - como SQL, JavaScript e XML.
  • 4. Características CakePHP possui a característica de usar as classes de Controlador, Modelo e Visão, O nosso amigo MVC ( Model, View, Controller). Mas podemos criar classes e objetos adicionais que fazem o desenvolvimento em MVC mais rápido e agradável. Components, Behaviors e Helpers são classes que proporcionam extensibilidade e reuso do codigo e funcionalidades que rapidamente se adaptam ao conceito MVC. Porem cada um no seu Quadrado. A estrutura de pasta e sempre mantida no Padrão.
  • 5. Características Antes de Criar e preciso saber usar os helpers nativos, vamos começar com o HTML. O que o helper HTML pode me proporcionar? Horas de menos digitação no seu projeto: Tags HTML para voce, permitindo que boa parte do desenvolvimento se atenha ao que importa, regra de negocio! Charsets, Link CSS, Meta Tags, Doctypes, Styles, Imagens, Links, Tags Diversas, Div, Paragrafos, Escrita facil de tabelas HTML, e formação de Links.
  • 6. Helper HTML, facilitando a vida Charset Padrao ou personalizado. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> Links Diretos ao seus CSS <link rel="stylesheet" type="text/css" href="/css/forms.css" /> <link rel="stylesheet" type="text/css" href="/css/tables.css" /> <link rel="stylesheet" type="text/css" href="/css/menu.css" /> Meta Tags de facil acesso. Definição de Doctype simples
  • 7. Helper HTML, facilitando a vida: Links Gerando Links ? Ao invez de escrever em PHP porque não direto em HTML? ? ! Diversos motivos, alguns mais importantes: 1 - Pode gerar links mais dinamicamente integrando aos controllers e actions. 2 - Tratamento do link e suas variaveis 3 - Geração de Links com confirmação de execução da ação com javascript.
  • 8. Helper HTML, facilitando a vida: Links Integração com Controllers e Actions Links com confirmações Links com imagens
  • 9. Agora que ja conhece bem um helper, que tal criar o seu? Criando um Helper para gerar PDF com JavaScript
  • 10. O Conceito A ideia e pegar uma parte ou um trecho da pagina e gerar um simples PDF com isso. Utilizando a Biblioteca JsPDF Site do Projeto: Dependências http://code.google.com/p/jspdf/ A biblioteca precisa de alguns arquivos JavaScript para funcionar perfeitamente. Basta adicionar os arquivos a pasta /webroot/js, e chama-los no layout principal em: /app/views/layouts/default.ctp
  • 11. A OBRA DE ARTE
  • 12. Informações Gerais Em um helper pode usar outros helper Nome da Classe sempre terminando em Helper, veja abaixo? Sempre extentendo a Classe AppHelper