• Nenhum resultado encontrado

Criador do PHP. Oscar Marques, Instrutor.

N/A
N/A
Protected

Academic year: 2021

Share "Criador do PHP. Oscar Marques, Instrutor."

Copied!
72
0
0

Texto

(1)

Universidade Federal Fluminense

Faculdade de Administração, Ciências Contábeis

e Turismo

Pós-Graduação em Gestão de Negócios

Capacitação dos Servidores Municipais de Maricá

- RJ

(2)
(3)

Conteúdo

Sobre o PHP História do PHP

Frameworks em PHP CMS em PHP

PHP estruturado e orientado a objetos Livros, comunidades, códigos e sites

Como funciona uma linguagem de servidor

Instalação manual do Apache, PHP 5 e do MySQL Testando a instalação do PHP

(4)

Conteúdo

Definindo variáveis Tipos de dados

Constantes

Saída de texto (echo e print) Comentários Operadores matemáticos Operadores lógicos Condicionais Loops Manipulação de strings Funções matemáticas A estrutura de um formulário Recebendo valores no PHP Testando variáveis

(5)

Sobre o PHP

PHP (um acrônimo recursivo para "PHP: Hypertext

Preprocessor", originalmente Personal Home Page) é uma linguagem interpretada livre e utilizada para gerar conteúdo dinâmico na World Wide Web.

(6)

História do PHP

A linguagem surgiu por volta de 1994, como um pacote de programas CGI criados por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL. Mais tarde, Zeev Suraski

desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e dava aos desenvolvedores somente a possibilidade de implementar propriedades e métodos.

(7)

História do PHP

Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos de

orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação de cópias de objetos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como são as

linguagens Java, Ruby e outras. O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha com handlers. Caso se copie um objeto, na verdade copiaremos um

apontador, pois, caso haja alguma mudança na versão original do objeto, todas as outras também sofrem a alteração, o que não acontecia na PHP 4.

(8)

História do PHP

Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões PECL (PHP

Extension Community Library) e alguns destes módulos são introduzidos como padrão em novas versões da linguagem. É muito parecida, em tipos de dados, sintaxe e mesmo funções, com a linguagem C e com a C++. Pode ser, dependendo da configuração do servidor, embarcada no código HTML. Existem versões do PHP disponíveis para os seguintes sistemas

operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, AIX, IRIX e Solaris.

(9)

História do PHP

Construir uma página dinâmica baseada em bases de dados é simples com PHP, (em parte, vale lembrar), este provê suporte a um grande número de bases de dados: Oracle, Sybase,

PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc., podendo abstrair o banco com a biblioteca ADOdb, entre

outras. A Wikipédia funciona sobre um software inteiramente escrito em PHP, usando bases de dados MySQL: o MediaWiki.[4] PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3,

HTTP, LDAP, XML-RPC, SOAP. É possível abrir sockets e interagir com outros protocolos. E as bibliotecas de terceiros expandem ainda mais estas funcionalidades. Existem iniciativas para

(10)

Frameworks em PHP

O que é Framework?

No desenvolvimento de software e websites, um framework é uma estrutura de suporte onde o projeto pode ser organizado visando tirar proveito de bibliotecas e outros recursos

disponíveis. Assim proporcionando uma Produtividade maior.

Um framework pode incluir programas de suporte, bibliotecas de código, linguagens de script e outros softwares para ajudar a desenvolver diferentes componentes de um projeto de software e website. Na maioria das vezes são baseados no padrão MVC.

(11)

Frameworks em PHP

Através de um framework, qualquer pessoa ou programador pode gerar sua aplicação de forma rápida, fácil e com baixo custo, sem precisar programa toda sua funcionalidade já que a maioria dos framework disponibilizam bibliotecas com muitos recursos.

Como funciona?

O primeiro passo é compreender a funcionalidade da estrutura escolhida no caso ” framework” O segundo passo é definir as características do sistema a ser projetado.

(12)

Frameworks em PHP

Vantagens:

Visando difundir o uso de framework ou arquitetura de desenvolvimento listo aqui algumas vantagens:

- Produtividade: menos código para digitar.

- Menor possibilidade de erros (Soluções já testadas em grande escala), o que implica em mais produtividade.

- Maior abstração da solução. Você se preocupa mais com o por quê, ao invés do como. E isso também implica em maior produtividade.

- Eficiência. Código feito por experts muitas vezes são mais eficientes do que os feito por nós, pobre mortais.

(13)

Frameworks em PHP

Opções de frameworks para PHP

Nós programadores php contamos com alguns framework, entre eles estão:

- Symphony - Prado

- Code Igniter

- Zend Framework - CakePHP

(14)

CMS em PHP

O WordPress é o sistema de gerenciamento de Conteúdo mais popular que existe. Por causa das inúmeras ferramentas

existentes e facilidade de uso, o WordPress conquista fãs por todo o mundo. Porém, há outros bons CMS que utilizam a

linguagem PHP (a mesma do WordPress).

Geeklog: trata-se de um CMS muito completo. Ele pode

trabalhar com o mySQL, PostgreSQL ou Microsoft SQL como base para os bancos de dados. Com o Geeklog, é possível

trabalhar com fóruns, calendários, enquetes e também conta com ferramentas para administração de sites como exclusão de conteúdo em massa. Muito interessante para quem deseja ter um site complexo. Como desvantagem apresenta a limitação

(15)

CMS em PHP

Concrete5: Este Sistema de gerenciamento de conteúdo

trabalha com código aberto em seu conteúdo. Ou seja, ele é gratuito e desenvolvido por uma comunidade (tal qual o

WordPress). Como grande vantagem, ele apresenta a

simplicidade de se trabalhar com as ferramentas. Só para ter uma ideia, é possível editar as imagens diretamente na

interface do programa. Além disso, conta com boas

ferramentas de SEO e também alguns recursos interessantes como a criação de pontos de restauração.

(16)

CMS em PHP

Drupal: já apresentamos aqui no Dicas de Hospedagem uma

postagem completa sobre o Drupal. O CMS já conquistou

muitos clientes como os governos dos EUA e do Reino Unido. Um dos grandes trunfos do sistema é a possibilidade de

executar diversos módulos. Só para ter uma ideia, o Drupal conta com cerca de 11 mil módulos para serem utilizados. Isto faz este CMS ser um dos prediletos para uso em e-commerces e sites mais elaborados.

(17)

CMS em PHP

Joomla: outro sistema que também tem alcançado grande

popularidade. Dos citados nesta postagem é o mais similar ao WordPress. É indicado para sites com grande quantidade de atualizações, principalmente em se tratando de conteúdo jornalístico. Também conta com uma grande quantidade de

desenvolvedores, o que faz o CMS ser sempre bem cotado para a escolha na construção de sites.

(18)

PHP estruturado e

orientado a objetos

Um sistema orientado a objetos é dividido em componentes e não mais em processos. Imagine um sistema financeiro, onde faríamos toda a administração de uma empresa. Teríamos as seguintes diferenças:

POO: Teríamos um objeto de fornecedores, por exemplo, onde

todas as funções estariam agrupadas no objeto e em nenhum outro lugar.

Estruturada: As rotinas e funções de fornecedores estaria

espalhada em todo o sistema, como em contas a pagar, contas a receber, cadastro, etc.

Imagine agora o cadastro de fornecedores, com todas as suas rotinas e funções:

(19)

PHP estruturado e

orientado a objetos

Estruturada: Se você futuramente precisar alterar algum

dado, função ou propriedade, o que em seu programa será afetado? O que terá que ser reestruturado? Imagine a você voltando a fase de testes e analisando todo o seu sistema até ter certeza que a alteração que você fez não desencadeou um finita listas de alterações que você terá que fazer em todo o sistema...

POO: as propriedades, funções e rotinas do objeto

fornecedores estão todas em um único objeto, encapsulados, facilitando essa necessidade futura de alterações e

(20)

Nome da Disciplina

Reutilização de código:

Estruturada: É possivel a reutilização de código na

programação estruturada porém, em muitos casos você será obrigado a utilizar o famoso "copiar e colar".

POO: Com a POO você é capaz de elaborar um relacionamento

entre diversos componentes, estabelecendo comunicação entre eles e facilitando assim, e muito a reutilização de código, além da facilidade de se poder herdar atributos e comportamentos de outros objetos.

(21)

Livros, comunidades,

códigos e sites

PHPBrasil.com PHP.net PHPrio.org #php #phpavancado @freenode PHPms.org PHPSP.

(22)

Como funciona uma

linguagem de servidor

A linguagem de servidor, ou server-side scripting, é a linguagem que vai rodar "por trás dos panos", fornecendo a lógica principal da aplicação. Funciona da seguinte maneira:

sempre que o usuário faz um HTTP request (entra numa página, clica num link, etc), o pedido é enviado pro servidor. A

linguagem server-side recebe o requerimento (resquest) e faz o processamento. Depois, transforma o resultado final em um

XHTML e envia pro navegador. É a linguagem server-side que vai verificar se o usuário está logado, vai buscar informações no banco de dados e etc.

(23)

Como funciona uma

linguagem de servidor

Como a linguagem server-side processa as coisas antes de enviar para o navegador, isso significa que uma vez que a página foi enviada ao navegador do usuário, não há mais nada

que a linguagem server-side possa fazer até um novo request seja enviado. Ou seja, não é possível usar estas linguagens

(24)

Instalação manual do

Apache, PHP 5 e do MySQL

No Linux via:

- apt - synaptic

(25)

Testando a instalação

do PHP

Devemos usar a seguinte função:

(26)

Como inserir o PHP na

página

PHP é sensível a maiúsculas

Como se coloca na pagina?

<?PHP ... ?>

recomendado, sempre disponível

<?= expressão ?>

equivale a <? echo expressão ?>

(27)

Definindo variáveis

<HTML> <HEAD> <TITLE>PHP</TITLE> </HEAD> <BODY> <?PHP

print (“<P>Ola mundo</P>”); ?>

</BODY>

<h1>Exemplo</h1> <?php

$firstvar = "Hello World"; echo $firstvar;

(28)

Tipos de dados

PHP suporta 8 tipos de dados primitivos:

- Tipos escalares: boolean, integer, double, string - Tipos compostos: array, object

- Tipos especiais: resource, NULL

Não podemos definir um tipo de variável Se decide ao longo da execução em função do contexto.

(29)

Tipos de dados

Funções importantes:

- gettype() devolve o tipo de variável

- is_type() comprova se a variável e do seguinte tipo: is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar(), is_string()

- var_dump() mostra o tipo e o valor da variável, importante quando usamos em arrays.

(30)

Tipos de dados

Integer (27, -5, 0)

Double (1.234, -5.33)

Boolean (True, verdadeiro ou False,

falso)

(31)

Tipos de dados

String:

- As cadeias se encerram com aspas simples e dupla.

Simples: admite os caracteres de escape \’ e \\ (barra).

As variáveis NAO se expandem.

Duplas: admite mais caracteres de escape, como "\n, \r, \t, \\, \

$, \".

(32)

Tipos de dados

Exemplos:

$a = 9;

print ‘a vale $a\n’; // mostra a vale $a\n print “a vale $a\n”;

// mostra a vale 9 e pula uma linha print “<IMG SRC=‘logo.gif’>”;

// mostra <IMG SRC=‘logo.gif’> print “<IMG SRC=\”logo.gif\”>”; // mostra <IMG SRC=“logo.gif”>

(33)

Constantes

Definição de constantes:

define (“CONSTANTE”, “ola”); print CONSTANTE;

Não levam $ antes.

Somente podemos definir constantes com: boolean, integer,

(34)

Saída de texto (echo e print)

echo — Exibe uma ou mais strings

<?php

echo "Hello World"; echo "This spans

multiple lines. The newlines will be output as well";

echo "This spans\nmultiple lines. The newlines will be\noutput as well.";

echo "Escaping characters is done \"Like this\"."; ?>

(35)

Saída de texto (echo e print)

print — Mostra uma string

<?php

print("Alô Mundo");

print "print() também funciona sem parênteses."; print "Isto divide

em múltiplas linhas. As quebras de linha serão mostradas também";

print "Isto divide\nem múltiplas linhas. As quebras de linha serão\nmostradas também";

(36)

Comentários

Comentários: como no C, /* ... */ (varias linhas ) e // (uma linha)

/* Comentário de varias linhas */

(37)

Operadores matemáticos

Um operador é algo que você alimenta com um ou mais valores (ou expressões, no jargão de programação) e que devolve outro valor (e

por isso os próprios construtores se tornam expressões). Assim, você pode pensar que as funções e os construtores que

retornam valores (como o print) são operadores e os outros que não retornam nada (como echo) como uma outra coisa.

(38)

Operadores matemáticos

Há três tipos de operadores. Primeiramente, os operadores unários, que operam em apenas um valor. Por exemplo, ! (operador de negação) ou o ++ (operador de incremento).

No segundo grupo estão os operadores binários, o o grupo que contém a maioria dos operadores que o PHP suporta

(39)

Operadores matemáticos

O terceiro grupo é do operador ternário: ?:. Ele pode ser usado para selecionar entre dois valores dependendo de uma terceira, em vez de selecionar duas sentenças ou encadeamentos de

execução. Englobar expressões ternárias com parênteses é uma boa idéia.

A precedência de um operador especifica quem tem mais prioridade quando há duas delas juntas. Por exemplo, na expressão, 1 + 5 * 3, a resposta é 16 e não 18 porque o

operador de multiplicação ("*") tem prioridade de precedência que o operador de adição ("+").

(40)

Operadores matemáticos

O operador de divisão ("/") sempre retorna um valor com ponto flutuante, a não ser que os dois operados seja inteiros (ou

strings que são convertidas para inteiros) e números

inteiramente divisíveis, em outro caso um inteiro é retornado. Operandos de módulo são convertidos para inteiros

(removendo a parte decimal) antes de processar.

-$a Negação (Oposto de $a).

$a + $b Adição (Soma de $a e $b).

$a - $b Subtração (Diferença entre $a e $b). $a * $b Multiplicação (Produto de $a e $b). $a / $b Divisão (Quociente de $a por $b).

(41)

Operadores lógicos

Operadores bit-a-bit permitem que você acione ou desligue bits específicos dentro de um inteiro. Se ambos os parâmetros da esquerda e da direita forem strings, esses operadores irão trabalhar nos valores ASCII dos caracteres.

Comparam dois números bit a bit. <?php

echo 12 ^ 9; // Imprime '5'

echo "12" ^ "9"; // Imprime o caracter de volta (backspace - ASCII 8)

// ('1' (ASCII 49)) ^ ('9' (ASCII 57)) = #8

(42)

Operadores lógicos

Operador Operação & “e” lógico

| “ou” lógico ^ ou exclusivo ~ não (inversão) << shift left >> shift right Operador Operação & “e” lógico

| “ou” lógico ^ ou exclusivo ~ não (inversão) << shift left

>> shift right

$a & $b E Os bits que estão ativos tanto em $a quanto em $b são ativados.

$a | $b OU Os bits que estão ativos em $a ou em $b são ativados.

$a ^ $b XOR Os bits que estão ativos em $a ou em $b, mas não em ambos, são ativados. ~ $a NÃO Os bits que estão ativos em $a

(43)

Condicionais

Operadores de comparação, como os seus nomes implicam, permitem que você compare dois valores. Você pode se

interessar em ver as tabelas de comparação de tipos, que tem exemplo das várias comparações entre tipos relacionadas.

$a == $b Igual Verdadeiro (TRUE) se $a é igual a $b.

$a === $b Idêntico Verdadeiro (TRUE) se $a é igual a $b, e eles são do mesmo tipo

(introduzido no PHP4). $a != $b

(44)

Condicionais

$a !== $b Não idêntico Verdadeiro de $a não é igual a $b, ou eles não são do mesmo tipo (introduzido no PHP4).

$a < $b Menor que Verdadeiro se $a é estritamente menor que $b.

$a > $b Maior que Verdadeiro se $a é estritamente maior que $b.

$a <= $b Menor ou igual Verdadeiro se $a é menor ou igual a $b.

$a >= $b Maior ou igual Verdadeiro se $a é maior ou igual a $b.

(45)

Loops

While:

Os Loops do while são o mais simples do PHP. Eles se comportam como no C.

A forma básica e:

while (expressao) Comandos

(46)

Loops

<?php

/* exemplo 1 */ $i = 1;

while ($i <= 10) {

echo $i++; /* the printed value would be $i before the increment

(post-increment) */ } /* exemplo 2 */ $i = 1; while ($i <= 10): echo $i;

(47)

Loops

For:

Os Loops do for são os mais complexos no PHP. Eles tem o mesmo comportamento do C.

for (expressão1; expressão2; expressão3) comandos

(48)

Loops

<?php

/* exemplo 1 */

for ($i = 1; $i <= 10; $i++) { echo $i;

}

/* exemplo 2 */

for ($i = 1; ; $i++) { if ($i > 10) {

(49)

Loops

/* exemplo 3 */ $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; }

(50)

Loops

Foreach

O loop foreach prove uma forma fácil de interagir com vetores (array) e objetos. Ele mostra erro quando você tenta usar uma variável de um tipo diferente ou não inicializada

Existem 2 sintaxes:

foreach (array_expressão as $valor) comandos

foreach (array_expressão as $chave => $valor) comandos

(51)

Loops

<?php

$arr = array(1, 2, 3, 4);

foreach ($arr as &$value) { $value = $value * 2;

}

// $arr agora e` array(2, 4, 6, 8)

unset($value); // quebra a referência com o ultimo elemento ?>

<?php

$arr = array("um", "dois", "tres"); reset($arr);

while (list(, $value) = each($arr)) { echo "Valor: $value<br />\n";

(52)

Manipulação de strings

Há dois operadores de string. O primeiro é o operador de concatenação ('.'), que retorna a concatenação dos seus argumentos direito e esquerdo. O segundo é o operador de

atribuição de concatenação ('.='), que acrescenta o argumento do lado direito no argumento do lado esquerdo.

<?php

$a = "Olá ";

$b = $a . "mundo!"; // agora $b contém "Olá mundo!"

$a = "Olá ";

(53)

Funções matemáticas

abs — Valor absoluto

acos — Cosseno Inverso (arco cosseno) acosh — Cosseno Hiperbólico Inverso asin — Seno Inverso (arco seno)

asinh — Seno Hiperbólico Inverso

atan2 — Tangente inversa de duas variáveis atan — Tangente Inversa (arco tangente) atanh — Tangente hiperbólica inversa

base_convert — Converte um número entre bases arbitrárias bindec — Binário para decimal

(54)

Funções matemáticas

cos — Coseno

cosh — Cosseno hiperbólico decbin — Decimal para binário

dechex — Decimal para hexadecimal decoct — Decimal para octal

deg2rad — Converte o número em graus ao equivalente em radianos

exp — Calcula o expoente de e

expm1 — Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é perto de zero.

floor — Arredonda frações para baixo

(55)

Nome da Disciplina

hexdec — Hexadecimal para decimal

hypot — Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de (num1*num1 +

num2*num2)

is_finite — Verifica se um valor é um número finito

is_infinite — Verifica se um valor é um número infinito is_nan — Verifica se um valor não é um número

lcg_value — Gerador congruente linear combinado log10 — Logaritmo Base-10

log1p — Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.

(56)

Funções matemáticas

mt_getrandmax — Retorna o maior valor aletório possível mt_rand — Gerador melhorado de números aleatórios

mt_srand — Semeia o gerador melhorado de números aleatórios

octdec — Octal para decimal

pi — Obtém o valor de pi pow — Potência

rad2deg — Converte o número em radianos para o equivalente em graus

rand — Gera um inteiro aleatório

round — Arredonda um número sin — Seno

(57)

A estrutura de um formulário

O formulário no PHP se faz da seguinte maneira:

<form action="Busca.php" method="post"> (1) <input type="text" name="palavra" />

<select name="categoria">

<option value="cadeiras">Cadeiras</option> <option value="mesa">Mesas</option>

<option value="bancos">Bancos</option> </select>

(58)

Recebendo valores no PHP

Por que preciso do PHP para fazer isso? Como se sabe o HTTP (protocolo) propriamente dito não armazena informações de estado, por isso se faz necessário o uso do PHP.

Vamos citar alguns casos onde eu posso compartilhar essas informações: No uso de session, usando métodos GET e POST, cookies e outras.

O método GET funciona da seguinte maneira - seus argumentos são passados em forma de string pela URI (Uniform Resource Indicator) também conhecido por muitos como URL. Certo, como sabemos a URL tem comprimento máximo de 255 caracteres então aqui está a limitação do GET!

(59)

Recebendo valores no PHP

Como usar um método GET:

Como já foi dito o GET sempre acompanha a URI logo o que vocês costumam ver nos links assim deste jeito,

http://www.métodoget.br/usandoget.php?ID=10, são os

argumentos GET, que neste caso sempre o primeiro argumento é precedido de uma interrogação "?" e os demais de um & para separá-los. O argumento em questão é o ID e seu valor é 10;

(60)

Recebendo valores no PHP

Outro exemplo: http://www.métodoget.br/usandoget.php? ID=10&CH=Texto

Argumentos: ID e CH com valores 10 e Texto respectivamente

Você poderá utilizar o método GET nos seus link ou em

formulários lembrando sempre da limitação e que estes dados serão visivéis pelos usuários pois ele sempre fica junto a URI.

Em links use:

<a href="http://www.metodoget.br/pagina.php? argumento=valor">meu link get</a>

(61)

Recebendo valores no PHP

Em formulários use:

<form action="http://www.metodoget.br/pagina.php" method="GET">

<input name="argumento" type="text" value="valor"> <input name="enviar" type="submit" value="enviar"> </form>

Os argumentos GET podem ser recuperados pelo PHP através das seguintes variáveis:

(62)

Recebendo valores no PHP

As vantagens do POST em relação ao GET:

- É mais seguro que o GET porque as informações passadas pelos usuários nunca é visivel na URI.

- Limite muito maior, uns 2 kbytes de informação, podem ser passadas.

(63)

Recebendo valores no PHP

Como usar o POST:

O POST é mais utilizado para tratamento de formulários. Usa-se de forma muito semelhante ao GET em formulários, por

exemplo:

<form action="http://www.metodoget.br/pagina.php" method="POST">

<input name="argumento" type="text" value="valor"> <input name="enviar" type="submit" value="enviar">

(64)

Recebendo valores no PHP

Os argumentos POST podem ser recuperados pelo PHP através das seguintes variáveis:

<?php

echo $HTTP_POST_VARS['nome_do_argumento']; echo $_POST['nome_do_argumento'];

?>

A dica mais importante: Nunca utilize o metodo GET para

formulários de login, ou para quaisquer dados sigilosos, pois os mesmos serão visíveis pela URL.

(65)

Recebendo valores no PHP

<html> <body> <?php if (isset($HTTP_GET_VARS['enviar'])) { $texto = $HTTP_GET_VARS['argumento'];

// será impresso o que for digitado no campo echo($texto);

} else { ?>

<form action="http://www.metodoget.br/pagina.php" method="GET">

<input name="argumento" type="text">

<input name="enviar" type="submit" value="enviar"> </form>

(66)

Recebendo valores no PHP

<html> <body> <?php if (isset($HTTP_POST_VARS['enviar'])) { $texto = $HTTP_POST_VARS['argumento']; // será impresso o que for digitado no campo echo($texto);

} else { ?>

<form action="http://www.metodoget.br/pagina.php" method="POST">

<input name="argumento" type="text">

<input name="enviar" type="submit" value="enviar"> </form>

<?php }

(67)

Testando variáveis

isset — Informa se a variável foi iniciada

<?php $var = '';

// Será interpretado como TRUE imprimindo o texto. if (isset($var)) {

echo "Essa variável existe."; }

// No próximo exemplo será usado var_dump para mostrar // o valor de retorno de isset().

$a = "teste";

$b = "outrotest";

var_dump( isset($a) ); // TRUE var_dump( isset ($a, $b) ); // TRUE unset ($a);

(68)

Validando dados

Vamos verificar se a senha passada esta correta.

Se não for s3nh4, o PHP nos joga de volta ao site do Google.

<?php

$senha = $_POST['senha'];

if ($senha != "s3nh4"){

(69)

Entendendo lógica de

programação

Lógica de Programação é a técnica de desenvolver algoritmos (sequências lógicas) para atingir determinados objetivos dentro de certos regras baseadas na Lógica matemática e que depois são adaptados para a Linguagem de Programação utilizada pelo programador para construir seu software.

Um algoritmo é uma sequência não ambígua de instruções que é executada até que determinada condição se verifique. Mais especificamente, em matemática, constitui o conjunto de

processos (e símbolos que os representam) para efetuar um cálculo.

O conceito de algoritmo é frequentemente ilustrado pelo

(70)

Entendendo lógica de

programação

Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano.

Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos

tempo, espaço ou esforço do que outros. Tal diferença pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo.

Por exemplo, um algoritmo para se vestir pode especificar que você vista primeiro as meias e os sapatos antes de vestir a

(71)

Como criar um bom

algorítimo

Alguns autores restringem a definição de algoritmo para

procedimentos que eventualmente terminam. Minksy constatou que se o tamanho de um procedimento não conhecido de

antemão, tentar descobri-lo é problema indecidível já que o procedimento pode ser executado infinitamente, de forma que nunca se terá a resposta. Alan Turing provou em 1936 que não existe máquina de Turing para realizar tal análise para todos os casos, logo não há algoritmo para realizar tal tarefa para todos os casos. Tal condição é conhecida atualmente como problema da parada.

Para algoritmos intermináveis o sucesso não pode ser determinado pela interpretação da resposta e sim por

(72)

Duvidas?

oscarbm@gmail.com

Oscar.marques@serpro.gov.br www.dunkelheit.com.br

Referências

Documentos relacionados

O seguinte exemplo, composto por 5 comandos em alto nível, representa um algoritmo de extrema complexidade de ser implementado, pois os comandos são muito

O aprendizado da Lógica é essencial para formação de um bom programador, servindo como base para o aprendizado de todas as linguagens de programação, es- truturadas ou não.. De

Um comando de atribuição permite-nos fornecer um valor a uma variável (guardar um valor em uma gaveta), em que o tipo do dado deve ser compatível com o tipo da

• Elabore uma sequência que mova três discos de uma Torre de Hanói, que consiste em três hastes (a-b-c), uma das quais serve de suporte para três discos de tamanhos diferentes

Já, outro estudo demonstrou que os resultados mostraram que os fatores que mais motivam as pessoas a praticarem academia são: saúde, aptidão física, disposição,

Algoritmos e Programação Estruturada – Conceitos Importantes Estrutura de dados.. Algoritmos e Programação Estruturada –

Durante uma expedição, um explorador encontra uma caverna com três deuses: o deus da sinceridade, que sempre fala a verdade; o deus da diplomacia, que às vezes diz

● Dica: ao utilizar o método puts com as aspas (para escrever textos), dentro das aspas você pode acessar as variáveis com #{IDENTIFICADOR} , trocando IDENTIFICADOR pelo