Conceitos de Orientação a Objetos
|
|
|
- Luiz Henrique Borba Philippi
- 9 Há anos
- Visualizações:
Transcrição
1 AULA 1 INTRODUÇÃO AO PHP Em PHP AVANÇADO, além de voltar a focar o desenvolvimento em PHP interagindo com o banco de dados Postgresql, também iremos trabalhar com desenvolvimento com orientação a objetos. Agregaremos também a metodologia MCV também a utilização de uma framework. Conceitos de Orientação a Objetos Classe - Conceito A classe é uma estrutura que rege o comportamento de seus objetos, sendo caracterizada por possuir métodos e atributos. Da mesma forma que os tipos de variáveis regem o comportamento das variáveis, restringindo e limitando suas ações, as classes regem o comportamento e limitam as ações dos objetos. De tal forma, alguns livros citam as classes como um super-tipo de variável. Encapsulamento O conceito do encapsulamento consiste em esconder os atributos da classe de quem for utilizá-la. Isso se deve por dois motivos principais. Um é para que alguém que for usar a classe não a use de forma errada como, por exemplo, em uma classe que tem um método de divisão entre dois atributos da classe - se o programador não conhecer a implementação interna da classe, ele pode colocar o valor zero no atributo do dividendo, mas se a classe estiver corretamente encapsulada podemos impedir que o programador faça isso. 1
2 Você sabe o que é MVC??? MVC é um padrão de arquitetura de software que separa a informação (e as suas regras de negócio) da interface com a qual o usuário interage. É uma forma de estruturar seu projeto/aplicação de forma que a interface de interação (view) esteja separada do controle da informação em si (models), separação essa que é intermediada por uma outra camada controladora (controllers). O que é Model? Model é onde fica a lógica da aplicação. Podemos representar através das classes. As classes que desenvolveremos, tratarão de receber e armazenar dados no banco de dados. É importante frizar que um model deve ser desenvolvido para que o mesmo seja reutilizável para qualquer view ou controller. O que é View? View exibe os dados. Só isso. View não é só o HTML, mas pode ser qualquer tipo de retorno de dados, como PDF, Json, XML, os tokens de autenticação, entre outro. Qualquer retorno de dados para uma interface qualquer (o navegador, por exemplo) é responsabilidade da view. A view deve saber renderizar os dados corretamente, mas não precisa saber como obtê-los ou quando renderizá-los. O que é Controller? O controller diz quando as coisas devem acontecer. Só isso. É usado para intermediar a model e a view de uma camada. Por exemplo, para pegar dados da model (guardados em um banco) e exibir na view (em uma página HTML), ou pegar os dados de um formulário (view) e enviar para alguém (model). 2
3 Como faremos nossa estrutura Nas aulas teremos uma estrutura o mais aproximado possível das boas práticas do desenvolvimento MVC. A vantagem é a organização dos trechos de código, e sendo que cada um tem sua finalidade específica. Na pasta classes ficaram nossos modelos. Na pasta app ficarão nossos controles. Na pasta view ficarão as telas. c:\apache\htdocs\ classes app view Exemplo bem básicão: Model class Pessoa { public $nome; public function cadastrar() { $sql = "insert into pessoa values ('$this->nome'); $res = pg_query($sql); View <form method=post> 3
4 Nome pessoa <input type='text' name='nome'> <input type='submit' name='opcao' value='cadastrar'> </form> Controller if ($opcao == 'Cadastrar') { include 'class.pessoa.php'; $objeto = new Pessoa; $objeto->nome = $_POST['nome']; $objeto->cadastrar(); Frameworks Temos a opção de criar nossa própria forma de criar nossos controles e views ou optar a trabalhar com uma framework. Um exemplo de framework voltado para desenvolvimento é o jeasyui. O jeasyui faz muito bem essa distinção entre as camadas de modelo, visão e controle. O pré requisito é que, além de conhecer PHP e banco de dados, faz-se necessário conhecer Ajax (javascript). Neste caso parte do Controller é feito pelo PHP e parte feito pelo Javascript. Veremos exemplos mais para frente. 4
5 EMENTA CONTEÚDO QUE SERÁ ESTUDADO NO SEMESTRE 1 Interação com banco de dados 2 - Comandos de conexão com banco de dados 3 - Comandos e conceitos sobre PHP orientado a objetos (classes e métodos) 4 - Incluir, alterar, excluir e pesquisar dados em uma tabela, através de um programa em PHP utilizando classes e métodos tela simples Escrever uma classe, instanciar uma classe 5 - Incluir, alterar, excluir e pesquisar dados em uma tabela, através de um programa em PHP utilizando classes e métodos tela com relacionamento entre tabelas Escrever uma classe, instanciar uma classe 6 Conceito e comandos de Sessão 7 - Criação de relatórios com quebra e totalização 8 - Explicação das classes fpdf 9 - Gerando um relatório com a classe fpdf 5
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP
AULA 2 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
MONTANDO UMA CONSULTA COM FILTROS. Vamos criar uma tela que gere uma relação de dados, escolhendo a ordenação e um filtro.
MONTANDO UMA CONSULTA COM FILTROS Vamos criar uma tela que gere uma relação de dados, escolhendo a ordenação e um filtro. Segue a tela para termos ideia do que precisaremos fazer na classe e no app. TELA
DESENVOLVIMENTO DE SISTEMAS WEB. Lista de Exercícios AV2-01. Luiz Leão
DESENVOLVIMENTO DE SISTEMAS WEB Luiz Leão [email protected] http://www.luizleao.com Questão 01 Sobre as características da programação orientada a objetos, explique o encapsulamento. Questão 01 - Resposta
Como criar um banco de dados usando o mysql
Como criar um banco de dados usando o mysql 1º Passo: Tenha instalado em seu computador o software XAMPP. Clique aqui para fazer o download. 2º Passo: O XAMPP faz a instalação normal, apenas clicando next,
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO
Sistema de Informação e Coordenação - SIC
Sistema de Informação e Coordenação - SIC Tópicos 1- Sistema de Informação e Coordenação - SIC 2- Modelo 3- Tecnologias Usadas 4- Projeto Estrutura 5- Fluxo de Atividades 1- Sistema de Informação e Coordenação
Desenvolvimento Web II
Desenvolvimento Web II Framework Laravel 5 Controller / Model / Migration / Seeder (Menu Principal SETA) Gil Eduardo de Andrade Configuração Banco de Dados No framework Laravel as informações de configuração
Cadastros de dados no MySQL
Cadastros de dados no MySQL Depois do nosso entendimento sobre como funciona o envio de dados atravé s de um formulário para o PHP, como conectar com o MySQL, agora poderemos aprender a cadastrar os registros
Web Interativa com Ajax e PHP
Web Interativa com Ajax e PHP Juliano Niederauer Novatec Copyright 2007, 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta
EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS
EXERCÍCIOS DE REVISÃO DE CONTEÚDO QUESTÕES DISSERTATIVAS 1. Explique a(s) diferença(s) entre design pattern e framework. 2. Analisar o arquivo de configurações (web.xml) abaixo identificando quais suas
AULA 6 IMPLEMENTAR TELA UTILIZANDO FRAMEWORK JEASYUI + PHP
AULA 6 IMPLEMENTAR TELA UTILIZANDO FRAMEWORK JEASYUI + PHP O que é EasyUI? easyui é um conjunto de plug-in de interface de usuário baseada em jquery. easyui fornece funcionalidade essencial para a construção,
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel
FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA Módulo de Programação Prof. Bruno Maciel Competências a serem trabalhadas nessa aula Conectar PHP com MySQL Comandos PHP para acesso ao MySQL Utilizando comandos no
Desenvolvimento Web III. Prof. Felippe Scheidt
Desenvolvimento Web III Prof. Felippe Scheidt Apresentação da disciplina Compreender os princípios do desenvolvimento de sistemas web e da construção de páginas dinâmicas utilizando padrões de projetos,
ALUNO: RONI FABIO BANASZEWSKI
Model-View-Controller ALUNO: RONI FABIO BANASZEWSKI Objetivo Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) A idéia é permitir que uma mesma
cadastro de usuários utilizando Ajax e PHP para inserir os dados em uma tabela MySQL.
cadastro de usuários utilizando Ajax e PHP para inserir os dados em uma tabela MySQL. Vamos então a criação do banco de dados que iremos chamar de banco_cliente e também de nossa tabela chamada clientes
Continuação... Criando a Interface e adiante
Continuação... Criando a Interface e adiante Criando a interface Para criar a interface utilizaremos JavaServer Faces Biblioteca PrimeFaces Documentação de PrimeFaces http://www.primefaces.org/showcase/
Ademir Cristiano Gabardo. Novatec
Ademir Cristiano Gabardo Novatec Novatec Editora Ltda. 2012. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
Professor Jefferson Chaves Jefferson de Oliveira Chaves
Professor Jefferson Chaves [email protected] Introdução ao Ambiente Cliente x Servidor; Os métodos GET e POST; Formulários HTML; Validação de dados; HTML, CSS e JavaScript (somente
Internet e Programação Web
COLÉGIO ESTADUAL PEDRO MACEDO Ensino Profissionalizante Internet e Programação Web 3 Técnico Prof. Cesar 2014 1. PHP e MySQL O MySQL é o gerenciador de banco de dados mais usado com o PHP. Existem muitas
Desenvolvimento de Aplicações para Internet Aula 11
Desenvolvimento de Aplicações para Internet Aula 11 Celso Olivete Júnior [email protected] www.fct.unesp.br/docentes/dmec/olivete jquery Na aula passada: Selecionando atributos Manipulando CSS Inserindo
TRABALHO FINAL 20 Pontos
Técnico em Informática Integrado ao Ensino Médio Algoritmos e Banco de Dados Profa. Cleiane Gonçalves Oliveira TRABALHO FINAL 20 Pontos O trabalho final deverá constar os três seguintes tipos de funções:
Guilherme Fernando Gielow
Guilherme Fernando Gielow SISTEMA DE INFORMAÇÕES PARA CONTROLE DE GERENCIAMENTO DE PROJETOS DE INFORMÁTICA BASEADO NO PMBOK Orientador: Evaristo Baptista 1 Sumário 1. Introdução 2. Fundamentação Teórica
SISTEMA WEB ESCOLAR PARA RESERVA DE RECURSOS DIDÁTICOS UTILIZANDO RBC
UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMA WEB ESCOLAR PARA RESERVA DE RECURSOS DIDÁTICOS UTILIZANDO RBC JHONE HEITOR THEISS PROF. ROBERTO HEINZLE, Orientador ROTEIRO DA APRESENTAÇÃO
ADIANTI FRAMEWORK PARA PHP
ADIANTI FRAMEWORK PARA PHP 9ª edição PABLO DALL'OGLIO Copyright 2012 de Pablo Dall'Oglio. Todos os direitos reservados e protegidos pela Lei 9.160 de 19/02/1998. É proibida a reprodução desta obra, mesmo
JAVASCRIPT. Desenvolvimento Web I
JAVASCRIPT Desenvolvimento Web I JavaScript HTML Conteúdo - ( Markup language) CSS Apresentação (Style Sheet language) JavaScript (Programming language) Uso de JavaScript : Validação de formulários, galerias
Desenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete)
Desenvolvimento de Sistemas Web Prof. Leandro Roberto Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete) JavaScript Eventos Alguns eventos de uma página HTML podem ser interceptados e programados
WebWork 2. João Carlos Pinheiro. [email protected]
WebWork 2 João Carlos Pinheiro [email protected] Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)
Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.
Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças
EA975 - Laboratório de Engenharia de Software
EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 1 O que vamos desenvolver? Vamos desenvolver uma aplicação distribuída, empregando a arquitetura 3-Tier segundo o estilo REST/HTTP (Respresentational
Curso de HTML aula 4. Sumário. 1 Formulários. 1.1 Construindo formulários com o FORM. 1.2 Método:
Sumário 1 Formulários... 1 1.1 Construindo formulários com o FORM... 1 1.2 Método:... 1 1.3 INPUT... 2 2 Outros valores para type... 3 2.1 TYPE="RADIO"... 3 2.2 TYPE="PASSWORD"... 3 2.3 TYPE="CHECKBOX"...
Formação ASP.NET MVC com C#
Comece a desenvolver sistemas para Web e Desktop com a linguagem de programação mais utilizada entre as equipes de alta performance. Carga-horária: 80h O que você aprenderá na formação ASP.NET MVC com
ADIANTI FRAMEWORK PARA PHP
ADIANTI FRAMEWORK PARA PHP 8ª edição PABLO DALL'OGLIO Copyright 2012 de Pablo Dall'Oglio. Todos os direitos reservados e protegidos pela Lei 9.160 de 19/02/1998. É proibida a reprodução desta obra, mesmo
A c c e s s. Data Lógica Informática. Ambiente Real Conhecimento de Verdade. Carga Horária (referencial): 30 horas. Pré-requisito: Windows
A c c e s s (referencial): 30 horas O Access permite que o usuário, mesmo sem ser especialista, crie e gerencie bancos de dados de forma fácil, para desenvolver soluções que otimizam a entrada, filtros
GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri
FERRAMENTA VISUAL PARA GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri ROTEIRO Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento
Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB
Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Bruno Costa Silva 1, Ricardo Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected],
AJAX. Prof. Marcos Alexandruk
Prof. Marcos Alexandruk [email protected] Asynchronous JavaScript and XML Não é uma "nova tecnologia" Utiliza os recursos já existentes do JavaScript Jesse James Garret utilizou o termo pela primeira
Aplicações Web com Servlets e JSP
J550 Desenvolvimento de Aplicações Web com Servlets e JSP Helder da Rocha www.argonavis.com.br 1 Objetivos Este curso explora os recursos da linguagem Java para o desenvolvimento de aplicações Web Tem
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
Curso de PHP. FATEC - Jundiaí TIPOS DE VARIÁVEIS
Curso de PHP FATEC - Jundiaí TIPOS DE VARIÁVEIS - Inteiros - Ponto Flutuante - String - Array - Objetos - Booleanos PHP utiliza checagem de tipos dinâmica, ou seja, uma variável vel pode conter valores
Bases de Dados. Lab 7: Desenvolvimento de aplicações com PHP
Departamento de Engenharia Informática 2013/2014 Bases de Dados Lab 7: Desenvolvimento de aplicações com PHP 1º semestre Este lab é uma continuação dos anteriores. Se realizou os labs anteriores, a base
Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC
Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada
Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011
Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza
Levantamento, Análise e Gestão Requisitos. Aula 03
Levantamento, Análise e Gestão Requisitos Aula 03 Agenda Paradigma da Orientação a Objetos Classes e objetos Abstração Encapsulamento Herança e polimorfismo Associação de objetos Coesão e acoplamento Levantamento
Informática Parte 24 Prof. Márcio Hunecke
Escriturário Informática Parte 24 Prof. Márcio Hunecke Informática ANGULAR.JS 1.6.X AngularJS é um framework JavaScript código aberto, mantido pelo Google, que auxilia na execução de single-page applications.
igrpweb Índice gráfico Cliente NOSi igrpweb Referência Versão 1.00 Status
igrpweb Índice gráfico Cliente NOSi igrpweb Referência Versão 1.00 Status Conteúdo Enquadramento... 2 1 IGRP Studio... 3 2 O Guia Inicial Rápido... 4 3 O Gerador de Código... 5 4 O File editor... 6 5 BPMN
Desenvolvimento de Aplicações para Internet Aula 8
Desenvolvimento de Aplicações para Internet Aula 8 Celso Olivete Júnior [email protected] na aula passada Orientação a Objetos Classes Objetos Construtores Destrutores 2 na aula passada Construtores
Desenvolva passo a passo um Sistema Web seguro com C# e Web Services!
Desenvolva passo a passo um Sistema Web seguro com C# e Web Services! Indo além do Desenvolvimento Desktop do módulo anterior, desenvolva nesse curso Aplicações Web de alta performance e agilidade através
SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO
SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO Este é um sistema de controle de produtos, onde o usuário irá entrar com o login e a senha, e se ele for um usuário cadastrado na tabela usuários
Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD
Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD Banco de Dados (BD) é o arquivo físico, em dispositivos periféricos, onde estão armazenados os dados de diversos sistemas, para
Behavior-Driven Development. Professor: Régis Patrick Silva Simão
Engenharia de Software Behavior-Driven Development Professor: Régis Patrick Silva Simão Agenda Ø Introdução Ø Behavior-Driven Development Ø Personas Ø Objetivos Ø Histórias de Usuários Ø Detalhamento das
Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.
Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Gabriel Pereira, Especialista em Java da Clarify Projete e desenvolva situações de Mercado com a criação de um
A área de um formulário, na codificação HTML da página, é delimitada pelo par de marcadores <FORM> e </FORM>.
Formulário em JSP Revisão de formulários em HTML Formulários Formulários estão presentes na Internet para possibilitar cadastros, pesquisas, envio de comentários, aumentando o poder de interação com os
Desenvolvimento do Módulo Meus Processos
Desenvolvimento do Módulo Meus Processos Amanda Schmidt de Lima, Bruno Guillen, Everson de Souza Silva, Giancarlo Mateus Arrais, João P. C. Miranda, Nelson Augusto Pires, Raquel K. Stasiu, Ricardo P. Seara,
Introdução a Programação Web com PHP
AULA: Introdução a Programação Web com PHP Programação para Internet http://docentes.ifrn.edu.br/albalopes [email protected] Breve histórico A primeira versão surgiu em meados de 1995, escrita por
GUIA PHP com MYSQL Autor: Everton Mendes Messias
PHP (Hypertext Preprocessor) : Linguagem de programação interpretada. Tags PHP: phpinfo(); Comentários: //, # - comentário de uma linha /* comentário de várias linhas */ GUIA PHP com MYSQL Autor: Everton
Introdução ao Desenvolvimento de
Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center [email protected] Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo
Boas práticas em programação PHP
MIEEC SIEM ano letivo 2014/15 Boas práticas em programação PHP José A. Faria ([email protected]) FEUP, DEGI Setembro 2014 Tópicos Estilos de codificação Eliminar duplicações de código Estruturar a aplicação
Editor: Rubens Prates PY Editoração eletrônica: Carolina Kuwabata Revisão gramatical: Patrizia Zagni Capa: Edinei Gonçalves/Carolina Kuwabata
5ª Edição Novatec Copyright 2008, 2013, 2017 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer
