Slides do cuso_php

82
Jessé de Oliveira Aluno do Curso de Computação na UEPB Programador da Rede Paraíba de Comunicação

description

Conteúdo

Transcript of Slides do cuso_php

Page 1: Slides do cuso_php

Jessé de Oliveira

Aluno do Curso de Computação na UEPBProgramador da Rede Paraíba de Comunicação

Page 2: Slides do cuso_php

O que é PHP?PHP (Hypertext Processor) é uma linguagem para criação de sites Web dinâmicos, possibilitando uma interação com o usuarios.

O PHP é composto por tipos, váriaveis, constantes, expressões, operadores, estruturas de controle, funções, classes e objetos.

Quando uma página PHP é requisitada ao Web server, o mesmo processa tal página e retorna ao cliente apenas o código HTML. Isso se deve ao fato de o PHP ser uma linguagem Web do tipo server-side.

Desta maneira é possível interagir com bancos de dados e aplicações existentes no servidor, com a vantagem de não expor o código fonte para o cliente, o que é útil quando o programa lida com senhas ou outro tipo de informação confidencial. No PHP, o código PHP fica embutido no próprio HTML.

Page 3: Slides do cuso_php

Open Source

O PHP é Software Livre, distribuído sob uma licença na qual os usuários não são obrigados a publicar seu código.

A portabilidade é uma das maiores vantagens do PHP, possibilitando sua instalação em vários Sistemas Operacionais como: Windows, Linux, Unix, IBM iSeries, SGI IRIX, RISC OS, Netware Novell, Mac OS etc.

Page 4: Slides do cuso_php

Segundo o tiobe, o PHP é utilizado em um a cada três sites na Internet. Ou seja, mais de 20 milhões de domínios. 35% da Internet roda PHP

Algumas das maiores plataformas do mundo como o Yahoo, Facebook, Wikipédia, que recebem milhões de acessos diários, é feita em PHP

Estatísticas de uso

Page 5: Slides do cuso_php

Ranking Geral

Page 6: Slides do cuso_php

Portabilidade

PerformanceO PHP tem uma grande performance e estabilidade. A combinação Linux/Apache/PHP é muito forte.

O PHP é utilizado por mais de 4.500.000 desenvolvedores no mundo, fazendo com que sua comunidade seja extremamente forte e atuante.

O PHP usa duas sintaxes. Uma é procedural e a outra é orientada a objetos.

Adaptabilidade

Page 7: Slides do cuso_php

http://php.net/manual/pt_BR/

http://www.orkut.com.br/Main#Community?cmm=19610

http://www.phpclasses.org/

http://www.phpbrasil.info

http://forum.phpbrasil.info

http://planeta.phpbrasil.info

Page 8: Slides do cuso_php

TAGs

Page 9: Slides do cuso_php

Imprimir dado na tela

Page 10: Slides do cuso_php

Tipos de Dados

Page 11: Slides do cuso_php

Primeiro Programa

Page 12: Slides do cuso_php

O nome de uma variável começa com uma letra ou sublinhado, seguido por

qualquer número de letras, números ou sublinhados.

Para criar uma variável, basta colocar o símbolo “$” seguido do nome e

atribuir um valor.

Ex.:

Variáveis

OBS.: Variáveis devem ter uma string apos o símbolo $

Page 13: Slides do cuso_php

Constantes são “variáveis fixas”, capazes de armazenar um valor (de quase todos os tipos) mas que não podem ser redefinidos, modificados ou removidos… Eles são constantes e permanecem como são até o final da execução do script.

Constantes

Page 14: Slides do cuso_php

Diferença entre aspas simples e dupla

Page 15: Slides do cuso_php

Aritméticos:

Operadores

Page 16: Slides do cuso_php

Atribuição e comparação:

Operadores

Page 17: Slides do cuso_php

Lógicos:

Operadores

Page 18: Slides do cuso_php

Incremento e decremento

Operadores

Page 19: Slides do cuso_php

If => se

Else => senão, do contrário

Else if => ouse

se(condiçao_satisfeita){

executo bloco de codigo...

}ou se(condiçao_satisfeita){

executo outro bloco de codigo...

}do contrario{

executo outro bloco de codigo....

}

Estruturas de controle

Tradução

Page 20: Slides do cuso_php

Estruturas de controleswitch case => caso

switch (variavel){

caso 10:

mostre “ var = 10”;

pausa;

caso 20:

mostre “var = 20”;

pausa;

caso 30:

mostre “var = 30”;

pausa;

caso 40:

mostre “var = 40”;

pausa;

default:

mostre “var = 50”;

pausa;

}

Tradução

Page 21: Slides do cuso_php

Estruturas de Repetição

for => para

Para(inicia_variavel, condição, incremento){

executo bloco de codigo....

}

Tradução

Page 22: Slides do cuso_php

Estruturas de Repetição

while => enquanto

inicia_variavel;

enquanto(condição_satisfeita){

executo bloco de codigo....

Incrementa variavel;

}

Tradução

Page 23: Slides do cuso_php

Estruturas de Repetição

do while => fazer enquanto

Inicia_variavel;

fazer{

mostra variavel;

incrementa variavel;

} enquanto(var < 30);

Tradução

Page 24: Slides do cuso_php

Arrays

Segundo o manual do php

Um array no PHP é atualmente um mapa ordenado. Um mapa é um tipo que relaciona valores para chaves. Este tipo é otimizado de várias maneiras, então você pode usá-lo como um array real, ou uma lista (vetor).

Page 25: Slides do cuso_php

Arrays

Page 26: Slides do cuso_php

Formulários

Page 27: Slides do cuso_php

Text

Text Area

lista

Checkbox

Radio

Hidden

file

Botão submit

Page 28: Slides do cuso_php

Text

Text Area

lista

Checkbox

Radio

Hidden

file

Botao submit

Page 29: Slides do cuso_php

Metodos POST e GETGET: É o método mais simples e mais limitado para se usar. Neste caso os valores e seus respectivos identificadores são transmitidos pela URL.

tipo como de URL:

http://www.meusite.com/pagina.php?id=32&descricao=teste

POST: representa uma alternativa ao método GET para as questões de capacidade e segurança. Nesse método uma conexão paralela é aberta e os dados são passados por ela. Não há restrição referente ao tamanho e os dados não são visíveis ao usuário. Há única condição é que se use um formulário para os dados. Na tag form , temos um atributo action. Nesse atributo é que setaremos a página que receberá nossas informações. Quando o botão submit for acionado todos os dados desse formulário serão passados para a página definida no action.

Page 30: Slides do cuso_php

include, require, include_once, require_once

include: Include tenta incluir uma página. Caso falhe, o script retorna um warning (aviso) e prossegue com a execução do script.

require: Require tenta incluir uma página. Caso falhe, o script retorna um fatal error (erro fatal) e aborta a execução do script.

include_once e require_once: Se o arquivo referenciado já foi incluso na página anteriormente, a função retorna 'false' e o arquivo não é incluído.

Page 31: Slides do cuso_php

Sintaxe

Page 32: Slides do cuso_php

Concatenação de Variáveis

Concatenação é feita com um ponto entre duas variáveis ou entre uma variável e uma string.

Ex.:

Page 33: Slides do cuso_php

Funções (function)

Funções serve para executar um determinado bloco de código que esta dentro do seu escopo. As funções pode ser chamada em qualquer parte do script, sem a necessidade de recriá-las.

Para que uma variável que esta fora do escopo da função seja acessada dentro da função, é necessário passar essa variável pelo cabeçalho da função.

Existe dois tipos de funções. As funções que executa uma ação mas não retorna nada e as funções que executa uma ação e retorna um valor.

Page 34: Slides do cuso_php

Funções (function)

Sintaxe de uma função:

function nome_da_function(){

escopo

}

function nome_da_function(){

escopo

return(dado);

}

Chamando uma função:

function nome_da_function(){

escopo

}

nome_da_function();

Page 35: Slides do cuso_php

Funções (function)Exemplo:

Page 36: Slides do cuso_php

Desafio 1Faça um programa que leia 4 notas DADAS e retorne a media.

Por exemplo:

Nota 1 = 10

Nota 2 = 5

Nota 3 = 7

Nota 4 = 8

Media = 7.5

OBS.: use function

Page 37: Slides do cuso_php

Solução 1

Page 38: Slides do cuso_php

Desafio 2Desenvolva um CONTADOR utilizando function, onde você informa o valor inicial e final da contagem.

OBS. os números da contagem devem ser impressos um seguido do outro separados por um espaço vazio, por exemplo:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

Page 39: Slides do cuso_php

Solução simples

Page 40: Slides do cuso_php

Criptografia de dados no PHPMD5

O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional.

String de 32 caracteres alfa-numéricos

um algoritmo unidirecional, um hash md5, não pode ser transformado novamente no texto que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da mensagem original confiável e outra da mensagem recebida).

Um hash é uma seqüência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F). O conceito teórico diz que "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações".

Page 41: Slides do cuso_php

Criptografia de dados no PHPMD5

A chance de colisão é de 1 em3,4028236692093846346337460743177e+38 ou 2 elevado a 128.

Sintaxe: Variavel = md5(“string_que_desaja_criptografar”);

Page 42: Slides do cuso_php

Criptografia de dados no PHP

SHA-1 (Secure Hash Algorithm-1)

É considerado o sucessor do MD5. Os algoritmos SHA foram desenhados pela National Security Agency (NSA) e publicados como um padrão do governo Norte-Americano.

Ele é praticamente idêntico ao md5, só que tem 160 bits, o que acaba criando uma string maior.

String de 40 caracteres alfa-numéricos

Page 43: Slides do cuso_php

Criptografia de dados no PHP

SHA-1

Sintaxe: Variavel = sha1(“string_que_desaja_criptografar”);

Page 44: Slides do cuso_php

Criptografia de dados no PHP

BASE64_ENCODE, BASE64_DECODE

base64_encode é um método para codificação dos dados para transferência na Internet. Ela é uma codificação de mão dupla, usando a segunda função (base64_decode) você pode descobrir a string original de uma string codificada.

Exemplo:

Page 45: Slides do cuso_php

Algumas Funções nativas do PHP

01) Isset

02) Empty

03) Exit

04) Substr

05) Explode

06) Implode

07) Substr

08) str_replace

09) number_format

10) Ceil

11) Floor

12) Round

13) Ucwords

14) Strtolower

15) Session

16) date

17) mail

Page 46: Slides do cuso_php

Banco de Dados

Page 47: Slides do cuso_php

Banco de Dados

Banco de dados (ou base de dados), é um conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação.

Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Muitas vezes o termo banco de dados é usado, de forma errônea, como sinônimo de SGDB.

O modelo de dados mais adotado hoje em dia é o modelo relacional, onde as estruturas têm a forma de tabelas, compostas por linhas e colunas.

Page 48: Slides do cuso_php

MySQL

O MySQL é um banco de dados que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language). É atualmente um dos bancos de dados mais populares mundo, com mais de 10 milhões de instalações.

Entre os usuários do banco de dados MySQL estão: NASA, Banco Bradesco, HP, Nokia, Sony, Google e outros.

Page 49: Slides do cuso_php

Sistema Gerenciador de Banco de Dados

phpMyAdmin

phpMyAdmin é um programa de computador desenvolvido em PHP para administração do MySQL pela Internet. A partir deste sistema é possível criar, remover e alterar tabelas, inserir, remover e editar campos, executar códigos SQL e manipular campos chaves.

Page 50: Slides do cuso_php

Visão geral

Page 51: Slides do cuso_php

Visão geral

Lista de Banco de dados Existentes

Documentação do SQL

Documentação do phpMyAdmin

Prompt de consulta SQL

Home

Page 52: Slides do cuso_php

Visão geral

Nome do servidor(endereço)

Usuário do Bando de dados

Criar Novo Banco de dados

Versão do SGBD

Versão do MySQL

Linguagem

Page 53: Slides do cuso_php

Visão geral – Criando uma tabela

Nome da Tabela

Quantidade de Campos que Terá

Após colocar o nome e a quantidade de campos, clique em “executar”

Page 54: Slides do cuso_php

Visão geral – Criando uma tabela

Nome dos campos da tabela

Tipo de dados de cada campo, pode ser do tipo, varchar, int, date, float, text, etc.

Define o tamanho do campo.OBS.: se for do tipo text ou float, não precisa informar o tamanho

Mecanismo de armazenamento

Page 55: Slides do cuso_php

Visão geral – Criando uma tabela

Salva as configurações

Define se o campo será auto incremente

Define se o campo será chave primaria, indice ou

único

Page 56: Slides do cuso_php

Visão geral – Tabela Criada

Page 57: Slides do cuso_php

Visão geral – Tabela Criada

Visualiza todos os registros da tabela

Visualiza estrutura da tabela

Prompt de consulta SQL

Insere dados manualmente

Exporta tabela ou base de dados completa

Importa base de dados ou tabelasAltera as configurações gerais da tabela, como por exemplo, auto incremente, nome da tabela, etc

Apaga todos os dados da tabela

Deleta a tabela

Page 58: Slides do cuso_php

Visão geral – Tabela Criada

Edita os dados do registro

Deleta o Registro

Campos da tabela com dados

Primeiro registro da tabela

Page 59: Slides do cuso_php

SQLStructured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional).

O SQL foi desenvolvido originalmente no início dos anos 70 nos laboratórios da IBM em San Jose.em inglês, é comumente pronunciada "síquel" ao invés de "és-kiú-él", letra a letra. No entanto, em português, a pronúncia mais corrente é a letra a letra: "ésse-quê-éle".

A linguagem SQL é um grande padrão de banco de dados. Isto decorre da sua simplicidade e facilidade de uso.

Embora o SQL tenha sido originalmente criado pela IBM, rapidamente surgiram vários "dialectos" desenvolvidos por outros produtores. Essa expansão levou à necessidade de ser criado e adaptado um padrão para a linguagem. Esta tarefa foi realizada pela American National Standards Institute (ANSI) em 1986 e ISO em 1987.

Embora o SQL tenha padronizado pela ANSI e ISO, possui muitas variações e extensões produzidos pelos diferentes fabricantes de sistemas gerenciadores de bases de dados.

Page 60: Slides do cuso_php

SQL - Sintaxe da linguagem

Comando Tradução Descrição

SELECT Selecionar Inicia a instrução de selecionar dados

* (asterisco) Todos Todos os campos da tabela

FROM De De onde deve selecionar, de qual tabela

WHERE Onde Condição a ser satisfeita

ORDER BY Ordenar por Ordem que os dados devem aparecer

GROUP BY Agrupar por Campos que serão agrupados

INSERT INTO Inserir em Inicia a instrução de inserção de dados

DELETE Delete Inicia a instrução de deletar dados

Page 61: Slides do cuso_php

SQL - Sintaxe da linguagem

Comando Tradução Descrição

DELETE Delete Inicia a instrução de deletar dados

UPDATE Atualizar Inicia a instrução de atualizar dados

LIMIT Limite Limite de registro que devem aparecer

LIKE Parecido/similar Busca dados parecidos com o informado

SUM Soma Soma dados (inteiro ou float)

COUNT Contar Conta dados

DESC Decrescente Ordena os dados de forma decrescente

ASC Ascendente Ordena os dados de forma crescente

Page 62: Slides do cuso_php

Comando

Tradução Descrição

DISTINCT Distinto Seleciona um dado distinto

MAX Maximo Seleciona o maior dado de um campo

MIN Mínimo Seleciona o menor dado de um campo

CASE Caso Estrutura condicional (if), usada com ou sem o else

LEFT Esquerda Usado junto com o join para relacionar dados

RIGHT Direita Usado junto com o join para relacionar dados

INNER Interno Usado junto com o join para relacionar dados

JOIN Juntar Usado para relacionar dados de uma ou mais tabela

SQL - Sintaxe da linguagem

Page 63: Slides do cuso_php

SQL - Sintaxe da linguagemExemplo:

SELECT * FROM cp_muralSELECT * FROM cp_mural WHERE id=3SELECT * FROM cp_mural WHERE LIKE ‘%teste%’ ORDER BY id DESCSELECT nome, msg FROM cp_mural ORDER BY id DESC

Tradução:

selecione todos de cp_muralselecione todos de cp_mural onde id for igual a 3selecione todos de cp_mural onde nome for parecido com ‘teste’ ordenado por id descrescenteselecione nome, msg de cp_mural ordenado por id decrescente

Page 64: Slides do cuso_php

PHP vs MySQLFuncões PHP / MySQL:

mysql_connect(); // inicia a conexao com o banco de dados ativo no servidor.Sintaxe: mysql_connect(“endereco_servidor”, ”usuario”, ”senha”);

mysql_select_db(); // seleciona o banco de dados que esta no servidor.Sintaxe : mysql_select_db(“nome_do_db”, link_identificador);

mysql_query(); // envia consultas para o banco de dados ativo no servidor.Sintaxe : mysql_query(“codigo sql”);

mysql_result(); // retorna o resultado de uma consulta.Sintaxe : mysql_result(var_consulta, linha, nome_do_campo);

mysql_fetch_array(); // gera um array com os dados da consulta.Sintaxe: mysql_fetch_array(var_da_consulta);

Page 65: Slides do cuso_php

PHP vs MySQLFuncões PHP / MySQL:

mysql_fetch_array(); // gera um array associativoSintaxe: mysql_fetch_assoc(var_da_consulta);

mysql_num_rows(); // retorna o numero de linha da consulta.Sintaxe : mysql_num_rows(var_consulta);

Page 66: Slides do cuso_php

PHP vs MySQLExemplos

Page 67: Slides do cuso_php

DesafioSistema de CriptografiaDesenvolver um sistema que gera uma chave criptografada em MD5, SHA-1 ou BASE64.Utilize um form com um input do tipo text, um select list e um botão.

OBS.: ao gerar a chave, os campos devem continuar preenchidos com os dados fornecido.

Page 68: Slides do cuso_php

Programação Orientada a Objetos

1. O que é um Objeto?2. O que é POO?

Page 69: Slides do cuso_php

1 Tudo é um objeto, um caderno, uma caneta, pessoas, carros, casas, etc... e como todo objeto do mundo real, na POO os objetos possuem características e comportamentos/funções

• Características: são as propriedades do objeto• Comportamentos/funções: são os métodos do objeto

2 Programação Orientado a Objetos é abstrair problemas da realidadepara que sejam modelados de forma computacional.

Respostas

Page 70: Slides do cuso_php

Quando falamos em orientação a objetos (OO), estamos falando basicamente de classes, métodos e propriedades.

POO em PHP

Page 71: Slides do cuso_php

Classe nada mais é do que uma estrutura, um molde, uma forma que define os tipos de dados (propriedades e métodos).

Exemplo: Uma classe “pessoa” poderia ter as propriedades: Nome, Endereço e Cidade.Como métodos poderíamos ter: Andar, Envelhecer e Crescer.

Uma classe define todas propriedades e comportamentos (métodos) comuns compartilhados por um mesmo tipo de objeto. Podem ser por exemplo, Pessoa, Carro, Clientes, etc.

Classes

Page 72: Slides do cuso_php

Propriedades nada mais é do que as variáveis internas de uma classe, ou seja, são variáveis que você coloca dentro das chaves {} da classe.

Já os métodos são as funções internas das classes, ou seja, as funções que você coloca entre as chaves {} da classe

Propriedades e Métodos

Page 73: Slides do cuso_php

Os 4 Pilares da POO

Page 74: Slides do cuso_php

Os 4 Pilares da POO

1. Polimorfismo

Polimorfismo significa muitas formas. Na programação é o mesmo que dizer que várias classes podem possuir a mesma estrutura e comportamentos diferentes.

Ao utilizar herança não apenas podemos reutilizar métodos da classe pai, como também podemos sobrescrever os métodos da classe pai, fazendo assim com que algumas características sejam modificadas.

Page 75: Slides do cuso_php

Os 4 Pilares da POO

2. Herança

Herança é a capacidade de um filho herdar algo do pai. Na programação orientada a objetos é a mesma coisa.

Então, herança nada mais é do que uma classe filha herdar propriedades e métodos de uma classe pai.

Esta herança é caracterizada pela palavra chave extends.

Page 76: Slides do cuso_php

Os 4 Pilares da POO

3. Abstração

Abstrair significa separar mentalmente, considerar isoladamente, simplificar. É separar de forma lógica o sistema com o objetivo de simplificar.

3.1. Classes abstratas

Elas são responsáveis por manter uma estrutura padrão para seus filhos, indepentende do seu número. Ou seja, essas classes nunca serão instanciadas, pois somente seus filhos serão usados.

Page 77: Slides do cuso_php

Os 4 Pilares da POO

3. Abstração

3.2. Métodos abstratos

Assim como classes, os métodos abstratos também são criados apenas para estruturação das classes filhas. Às vezes queremos que as classes derivadas de uma classe pai tenham obrigatoriamente um método específico, para garantir que não haja conflito em outros métodos que dependem desse primeiro.

Page 78: Slides do cuso_php

Os 4 Pilares da POO

4. Encapsulamento

O encapsulamento é um dos recursos mais interessantes da programação orientada a objetos. Encapsular significa, na programação, esconder os dados contidos nas propriedades de uma classe. Qualquer classe é completamente responsável pelos dados que ela transporta e necessita que os mesmos se mantenham íntegros, ou seja, sem alterações não previstas durante a execução.

Page 79: Slides do cuso_php

Os 4 Pilares da POO

4. Encapsulamento

4.1 Visibilidade

É possível utilizar do encapsulamento para dar permissões de acessos aos atributos das classes. Assim podemos dizer quem pode acessar seus atributos diretamente ou não. São eles:

4.1.1. Public

A palavra chave public informa que a propriedade ou o método são públicos, ou seja, qualquer um pode acessar (desde subclasses como outras classes que estão a instanciando).

Page 80: Slides do cuso_php

Os 4 Pilares da POO

4. Encapsulamento

4.1.2. Private

Já a palavra chave private informa que a propriedade ou método só podem ser acessados internamente na classe. Nem seus filhos podem acessá-lo.

4.1.3. Protected

Enquanto isso protected indica que subclasses podem acessar, mas outras classes ou funções não têm essa permissão

Page 81: Slides do cuso_php

OBS

Em POO as function() passam a ser chamado de Métodos e as variáveis de Propriedades.

Muda-se a forma de referenciar as variáveis, ao invés de $var, temos que usar o $this (este, esta), ficando $this->var.

Para criar uma classe, basta colocar a palavra chave “class” seguido do nome da classe (é de bom costume colocar a primeira letra no nome da classe em minúscula) depois abre e fecha chaves formando o escopo da classe

Page 82: Slides do cuso_php

Exemplo

<?php

class exemplo{// declaro as variáveis que vou usarpublic $nome = ‘teste’;

// métodospublic function setNome(){

echo $this->nome;}

}

$ex = new exemplo();$ex -> setNome();

?>