O documento discute a linguagem de programação PHP, resumindo suas principais características em menos de 3 frases:
PHP é uma linguagem de script popular usada para desenvolvimento web, com vantagens como fácil aprendizagem e código aberto. A linguagem é influenciada por C e usa tags como <?php ?> para executar scripts PHP em páginas HTML.
2. • Vantagens
– Fácil aprendizagem
– Acesso a dados
– Velocidade e robustez
– Multi-plataforma
– Código-fonte aberto
Tem a desvantagem de ter muitas versões e por
vezes encontrar a função para a versão certa é
complexo.
3. • Curiosidades
– No inicio significava Personal Home Pages, mais
tarde evoluiu para PHP Hypertext Processor
– Linguagem bastante popular
– Utilizada por Facebook, Flickr, Wikipedia, Digg e
mais de 20 milhões de sites
– Mantida pela Zend
– Criada em meados de 1994 por Rasmus Lerdorf
– Currente versão – 5.4.10
4. • Instalação:
– WAMP Server (http://www.wampserver.com/en/)
• Apache 2.2.22
• Mysql 5.5.24
• PHP 5.3.13 XDebug 2.1.2 XDC 1.5
• PhpMyadmin 3.4.10.1
• SQLBuddy 1.3.3
• webGrind 1.0
Por vezes na pagina de download, é referido que também é
necessário instalar o Visual C++ 2010 SP1.
5. • Sintaxe
– Fortemente influenciada pela linguagem c
– Um ficheiro php tem que ter a extensão .php
– Todas as linhas(exceto as que têm else ou if) acabam
com ;
– Tem normalmente tags html e algum codigo scripting
– O script PHP começa sempre por <?php e acaba sempre
com ?>. Pode ser colocado em qualquer parte do
documento e mais que uma vez.
– Para melhor compatibilidade recomenda-se sempre a
utilização de <?php ao inves da forma mais simplificada
<?.
6. • Hello World program
<html>
<body>
<?php
echo "Hello World";
?>
</body>
</html>
8. • Tipos de Variaveis
– O PHP não tem comando para declarar uma variavel.
– Uma variavel é criada no momento em que se atribui
um valor:
– Exemplo :
• $myCar="Volvo";
• $x = 10;
• Não é necessário definir o tipo da variável!
• O PHP é uma linguagem fracamente tipificada ou
dinamicamente tipada, ou seja durante a execução do
programa, pode alterar o tipo de dados contidos numa
variável.
9. • Quando se cria variaveis, temos que respeitar 4 regras:
– Os nomes de variáveis têm que começar pela letra do alfabeto ou por
_(underscore).
– Os seus nomes podem apenas conter os caracteres: a-z, A-Z, 0-9, e _
(underscore).
– Não podem conter espaços no seu nome. Se por acaso um nome tiver
mais que uma palavra, recomenda-se que essa palavara seja separada
por um _ (underscore) (e.g., $user_name).
– São case-sensitive. Por exemplo uma variável nomeada como
$High_Score é diferente de outra nomeada $high_score.
10. • Contudo existem 2 tipos de strings que são
suportadas pelo php.
• $info = 'Preface variables with a $ like this: $variable';
• echo "There have been $count presidents of the US";
Façam o codigo e vejam o que dá!
12. • Scope das Variáveis:
– Os tipos de scope pode ser:
• Local
• Global
• Static
• Parameter
13. • Local Scope
– Uma variavel declarada dentro de uma função é assim local e apenas pode ser acedida dentro de
essa função
<?php
$temp = "The date is ";
echo longdate(time());
function longdate($timestamp)
{
return $temp . date("l F jS Y", $timestamp);
}
?>
• Pode-se ter variaveis locais com o mesmo nome em funções diferentes, porque elas, sendo variáveis
locais apenas podemn ser reconhecidas na função onde são declaradas
• Variáveis locais são apagadas assim que função é executada
14. • Scope Global refere-se a qualquer variável que é definida fora de qualquer
função.
• Variáveis globais podem ser acedidas de qualquer parte do script que não esteja
dentro da função.
• Para se aceder a uma variavel global dentro de uma função utiliza-se a instrução
global:
<?php
function test() {
$foo = "local variable";
echo '$foo in global scope: ' . $GLOBALS["foo"] . "n";
echo '$foo in current scope: ' . $foo . "n";
}
$foo = "Example content";
test();
?>
15. • Static Scope
– Quando uma função é executada,normalmente, todas as
suas variáveis são apagadas, contudo, por vezes é possivel
que a gente queira que uma variável local não seja
apagada.
• Para se poder fazer isso, utiliza-se a
instrução static primeiramente quando se declara a variável:
• Exemplo:
– static $rememberMe;
16. • Exercicio para Global e Local Scope:
<?php
$a = 5;
function test()
{
$a = 3;
echo $a;
echo $GLOBALS["a"];
$a = $a + 1;
echo $a;
echo $GLOBALS["a"];
}
test();
echo($a);
?>
17. • Exemplo de static scope:
<?php
function foo(){
static $int = 0; // correct
static $int = 1+2; // wrong (as it is an expression)
static $int = sqrt(121); // wrong (as it is an expression too)
$int++;
echo $int;
}
foo();
?>
18. • Parameter
– Um parameter é uma variável local cujo valor é passado para uma
através do seu código de chamar função.
– Parameters são declaradas numa lista de parâmetros como parte da
declaração da própria função:
function myTest($para1,$para2,...)
{
// function code
}
• Parameters também pode ser chamados de arguments. Isso será
melhor explicado mais à frente quando se abordarem as funções.
19. • Super Globais
– São variáveis já predefinidas do PHP
– Sendo assim fornecidas pelo proprio ambiente do PHP e
podem ser acedidas de absolutamente de qualquer
localização do programa, sendo assim globais tambem
– Todas elas têm no seu nome um unico underscore no inicio
e no resto letra grande
– Neste caso temos que ter o mesmo cuidado na nomeação
das nossas variaveis para evitar confusão
– Cuidado especial na sua segurança, devido ao seu grande
potencial scope
20. • As super variaveis globais são:
– $_SERVER – informação como por exemplo headers, caminhos e localizações de scripts. As entradas
de este arrary são criadas poelo servidor de web, por isso não há garantia que todos os servidores
providenciem essa informação
– $_GET - variaveis enviadas pelo currente script via Metodo HTTP GET
– $_POST - variaveis enviadas pelo currente script via Metodo HTTP POST
– $_FILES – items que vão no upload do current e script via the HTTP POST method.
– $_COOKIE – variavaies enviadas pelo currente script via HTTP cookies.
– $_SESSION – variáveis de sessão que são disponiblizadas no current script.
– $_REQUEST – conteúdo da informação enviado do browser :pr defeito , $_GET, $_POST e $_COOKIE.
– $_ENV - variáveis enviasas do currente script via o metodo de ambiente web
21. • Os seguintes exemplos dão o mesmo output?
<?php
$temp = "The date is ";
echo longdate(time());
function longdate($timestamp)
{
return $temp . date("l F jS Y", $timestamp);
}
?>
<?php
$temp = "The date is ";
echo longdate(time());
function lonGDate($timestamp)
{
return $temp . date("l F jS Y", $timestamp);
}
?>
23. • Operadores aritméticos
– São usados para efetuar operações matemáticas. Podemos usá-los para as 4 operações principais (
subtração, adição, divisão multiplicação) assim como e muito util para descobrir o resto de uma divisão
e tambem incrementar ou decrementar o valor de uma variável.
Tabela de operadores aritméticos
Operador Descrição Exemplo
+ Adição $j + 1
- subtração $j - 6
* multiplicação $j * 11
/ divisão $j / 4
% resto de divisão $j % 9
++ incrementar ++$j
-- decrementar --$j
Alguém sabe a utilidade do resto de uma divisão, em que situações é bastante útil?
24. • Resposta sobre uma das utilidades do operador % (resto de
uma divisão inteira)
<?php
for($n=0;$n<10;$n++)
{
if($n % 2 ==0)
{
echo "<hr color='red' size='10'/>";
}
else
{
echo "<hr color='green' size='10'/>";
}
}
?>
25. • Operadores de atribuição
– Estes operadores são utilizados para atribuir valores às variáveis.
Começam com um simples simples “=“ e depois com “+=“, -=, e por ai
fora, como exemplificado em baixo.
Operador Exemplo Equivalente a
= $j = 15 $j = 15
+= $j += 5 $j = $j + 5
-= $j -= 3 $j = $j - 3
*= $j *= 8 $j = $j * 8
/= $j /= 16 $j = $j / 16
.= $j .= $k $j = $j . $k
%= $j %= 4 $j = $j % 4
26. • Operadores de Comparação
– São normalmente usados dentro de um construtor como por exemplo “if” ou
tambem “while”, em que existe necessidade de comparar 2 itens, ou se uma
variaável chegou a um certo valor na incrementação, ou se o valor é inferior,
etc.
Operador Descrição Exemplo
== é igual a $j == 4
!= é diferente de $j != 21
> é maior que $j > 3
< é menor que $j < 100
>= é maior ou igual que $j >= 15
<= é menor ou igual que $j <= 8
27. • Operadores lógicos
– Tem um pouco a ver com própria lingua. Por exemplo, se a hora for mais tarde
que 12 horas e mais cedo que 2 da tarde, então vamos almoçar! Segue a
lógica do proprio raciocinio.
Operador Descrição Exemplo
&& And $j == 3 && $k == 2
and Low-precedence and $j == 3 and $k == 2
|| Or $j < 5 || $j > 10
or Low-precedence or $j < 5 or $j > 10
! Not ! ($j == $k)
xor Exclusive or $j xor $k
28. • Atribuição de variáveis
– $x += 10;
– $y -= 10;
• Incrementação e decrementação de variáveis
– ++$x;
– --$y;
• Com if
– if (++$x == 10) echo $x;
– if ($y-- == 0) echo $y;
• Com while
– while(++$x < 10)
– While (--$y>5)
29. • Operadores de strings
– Concatenação
• echo "You have " . $msgs . " messages.";
• $bulletin .= $newsflash; // exemplo tambem valido!
• Curiosidade: Porque o “.” serve como concatenador.
– Resposta: echo 1 . 2;
» Na realidade este echo produz não um numero real no ecran, mas sim
uma string
– A utilização de outro operador, como por exemplo “+” :
» echo "a string" + "another string"; // produz “a string another string”
» echo 1 + 2; // aqui já produziria o valor 3, em vez de 12.
31. • Mais sobre a concatenação de strings
$text = "This is a Headline
This is the first line.
This is the second.
Written by $author."; // concatenar texto com mais que uma linha
$text = 'My sister's car is a Ford'; // Errado
$text = 'My sister's car is a Ford'; // forma de fazer escape dos caracteres
$text = “This is the first line. <br>This is the second”. // com line feed
$text = “This is the first line.n This is the second”. // com line feed
As ultimas 2 linhas são equivalentes?
35. • Exemplos de ifs encadeados
<?php
if ($a > $b)
{
echo "a is bigger than b";
}
elseif ($a == $b)
{
echo "a is equal to b";
}
else
{
echo "a is smaller than b";
}
?>
38. • Operador de condição “switch”
<?php
switch (variavel):
case valor1: echo expressao; break;
// etc...
default: açao por defeito ; break; //caso não se verifique nenhuma condição, garantimos
assim a execução de esta instrução
endswitch;
?>
Este tipo de operador substitui um outro, quando se torna muito
complexo a verificação de todas as variaveis.
40. • Operador de condição “?”
– Tambem conhecido por operador ternário, o que não deixa
de ser pouco comum, ao inves de utilizar 2 operadores,
mas por vezes acontece.
<?php
echo $fuel <= 1 ? "Fill tank now" : "There's enough fuel";
?>
<?php
instrucao ? Verdadeiro : Falso;
?>
41. • Ciclos (Looping) – while
while (condicao)
{
// Keep driving ...
echo "There's enough fuel";
}
<?php
$count = 1;
while ($count <= 12)
{
echo "$count times 12 is " . $count * 12 . "<br />";
++$count;
}
?>
43. • Looping – do while
<?php
$count = 1;
do
echo "$count times 12 is " . $count * 12 . "<br />";
while (++$count <= 12);
?>
• Nota: Este ciclo é sempre efetuado 1x.
44. • Looping – for
for (inicio ; criterio de paragem; incrementação/decrementação)
{
instrução
}
<?php
for ($count = 1 ; $count <= 12 ; ++$count)
{
echo “$count times 12 is “ . $count * 12 . “<br />”;
}
?>
45. • Instruçoes importantes num ciclo!
– break
for ($j = 0 ; $j < 100 ; ++$j)
{
if($i== 20) break;
}
– continue
while ($j > −10)
{
$j--;
if ($j == 0) continue;
echo (10 / $j) . "<br />";
}
46. • Exercicio para ciclo for
– Fazer um ciclo com inicio em 1 e que acabe em 20 e que
cada linha de altura 10px par faça de cor vermelha e cada
impar verde. A cada 5 incrementações faça uma linha
amarela e com altura 20px.
• Exercicio livre:
– Elabore um programa faça um ciclo de 1 a 10 pelo
menos 1x até um limite que é sorteado um
numero entre os mesmos valores.
48. • Exercicio …
<?php
$number = rand(0,10);
$i=0;
do
{
$i++;
echo "<br/>$i";
}
while($i!=$number);
echo "<hr/>O numero sorteado foi $number";
?>
49. • Arrays
– Trata-se de uma variável especial, que pode guardar
valores multiplos em apenas uma variavel.
$cars1="Saab";
$cars2="Volvo";
$cars3="BMW";
Pode ficar
$cars=array("Saab","Volvo","BMW”);
Assignar por indice
$cars[0]="Saab";
$cars[1]="Volvo";
$cars[2]="BMW";
50. • Looping – foreach
– É muito usado para looping de arrays
– Sintaxe:
foreach ($array as $value)
{
code to be executed;
}
<?php
$cars=array("Saab","Volvo","BMW”);
foreach ($cars as $car)
{
echo $car . "<br>";
}
?>
52. • Funções
– Servem para separar melhor o código e para serem reutilizadas.
Principal objetivo é devolver sempre um valor.
• Exemplo
function functionName()
{
código a executar;
}
function longdate($timestamp)
{
return date("l F jS Y", $timestamp);
}
53. • Tipos de funções
• Array functions
• Calendar functions
• Date functions
• Directory functions
• Error functions
• Filesystem functions
• Filter functions
• FTP functions
• HTTP functions
• LibXML functions
• Mail functions
• Math functions
• Misc functions
• MySQL functions
• SimpleXML functions
• String functions
• XML Parser functions
• Zip functions
54. • Funções de strings
<?php
echo strrev(" .dlrow olleH"); // Reverse string
echo str_repeat("Hip ", 2); // Repeat string
echo strtoupper("hooray!"); // String to uppercase
$str = 'abcdef';
$sub = substr($str, 3, 5);
echo '<br>'.$sub; // returns "def"
echo str_shuffle(“isto é uma misturada”); //shuffles the string
echo trim(“ isto retira espaços “); //removes blank spaces in the end and in the
beginning
?>
55. • Funções de strings
<?php
echo strpos("Hello world!","wo"); //return position of first occurence
echo ‘<br>’.strlen("Hello world!"); // count the string length
echo "<br>".similar_text("Hello World","Hello Peter"); // returns the number of
matching characters of two strings.
echo "<br>".similar_text("Hello World","Hello Peter",$percent); // It can also
calculate the similarity of the two strings in percent.
echo $percent;
?>
… e muitas mais
57. • Funções do Tempo
<?php
$t=time();
echo($t . "<br />");
echo(date("D F d Y",$t));
echo(“<br/>”.microtime());
$my_t=getdate(date("U"));
echo("<br/>$my_t[weekday], $my_t[month] $my_t[mday],
$my_t[year]");
?>
58. • Funções de Arrays
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
print_r(array_reverse($a));
echo "<hr/>";
$my_array = array("Dog","Cat","Horse");
list($a, , $c) = $my_array;
echo "Here I only use the $a and $c variables.";
echo "<hr/>";
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");
sort($my_array);
print_r($my_array);
?>
59. • Funções Várias
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "<br /><br />";
$browser = get_browser(null,true);
print_r($browser);
//sleep for 10 seconds
sleep(10);
//start again
echo date('h:i:s');
$str = "Hello";
$number = 123;
printf("%s world. Day number %u",$str,$number);
php_info();
?>
60. • Funções de E-Mail
<?php
$to = "someone@example.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>
61. • Funções de Include
-ficheiro vars.php
<?php
$color='red';
$car='BMW';
?>
-ficheiro teste.html
<html>
<body>
<h1>Welcome to my home page.</h1>
<?php include 'vars.php';
echo "I have a $color $car"; // I have a red BMW
?>
</body>
</html>
62. • Exercicio.
– Faça um programa que sorteie um numero de 1 a
100 e mostre todos os numeros primos existentes
nesse intervalo.
63. • Formularios
– São feitos em HTML
– Servem para passar informação ao servidor
– Métodos utilizados no Forms:
• GET
• POST
– Existem mais métodos de passar informação mas para
funcionarem têm que ser simulados de outra forma como por
exemplo atraves de uma REST Console. Métodos adicionais:
» PUT (usa-se para efetuar o UPDATE)
» DELETE (usa-se para efetuar o DELETE – pouco
recomendado, normalmente é bloqueado pelo IIS,
APACHE
64. • Objetos de um form (HTML Form Tags)
Tag Description
<form> Defines an HTML form for user input
<input> Defines an input control
<textarea> Defines a multiline input control (text area)
<label> Defines a label for an <input> element
<fieldset> Groups related elements in a form
<legend> Defines a caption for a <fieldset> element
<select> Defines a drop-down list
<optgroup> Defines a group of related options in a drop-dowdownlist
<option> Defines an option in a drop-down list
<button> Defines a clickable button
<datalist>New Specifies a list of pre-defined options for input controls
<keygen>New Defines a key-pair generator field (for forms)
<output>New Defines the result of a calculation
• NEW : HTML5
65. • Formulario exemplo
<form action=“getform.php” method=“POST”>
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname">
<br><input type=“submit”>
</form>
66. • Aceder aos valores dos objetos de um formulario:
– Ler variaveis do metodo “POST”
<?php
echo($_POST["firstname"]." ".$_POST["lastname“]);
?>
– Ler variaveis do metodo “GET”:
<?php
echo($_GET["firstname"]." ".$_GET["lastname“]);
?>
67. • Objetos de um Formulario
– input (pode ainda ter o tipo file, button, image e password)
<input type=“text” name=“”/>
– textarea
<textarea name=“x” rows=”x” cols=“x”></textarea>
- button
<button type="button">Click Me!</button>
- label
< label id="butao">Label</label>
- select, optiongroup e options
- <select>
<optgroup label="Swedish Cars">
<option value="volvo">Volvo</option> <option value="saab">Saab</option>
</optgroup>
<optgroup label="German Cars">
<option value="mercedes">Mercedes</option> <option value="audi">Audi</option>
</optgroup>
</select>
70. • Exercicio:
– Elabore um formulario que resgiste nome, apelido,
morada, sexo, pais(10 à escolha a partir de um array) e
linguas que domina (com ingles, frances, espanhol e
alemão para escollher).
– Escolha para o efeito os campos adequados.
– Elaborar uma pagina para post dos campos preenchidos.
72. • Upload (continuação)
<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"]
?>
• $_FILES["file"]["name"] - the name of the uploaded file
• $_FILES["file"]["type"] - the type of the uploaded file
• $_FILES["file"]["size"] - the size in kilobytes of the uploaded file
• $_FILES["file"]["tmp_name"] - the name of the temporary copy of the file stored on the server
• $_FILES["file"]["error"] - the error code resulting from the file upload
74. • if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
• Deve-se sempre restringir o upload ao tipo de ficheiro (extensões ) e tambéo quanto ao tamanho.
75. • Cookies
– setcookie(name, value, expire, path, domain);
• Tem que ser feito antes da tag <html>
<?php
$expire=time()+60*60*24*30;
setcookie("user", "Alex Porter", $expire);
?>
<?php
// Print a cookie
echo $_COOKIE["user"];
// A way to view all cookies
print_r($_COOKIE);
?>
• Não esquecer que para se utilizar esta tecnologia, estamos dependentes que o
browser os suporte!
76. • Cookies – exemplo
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "Welcome " . $_COOKIE["user"] . "!<br>";
else
echo "Welcome guest!<br>";
?>
</body>
</html>
• Apagar um cookie
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
77. • Sessions
– Alternativa aos cookies
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
79. • E-Mail
mail(to,subject,message,headers,parameters)
Parameter Description
To Required. Specifies the receiver / receivers of the email
Subject Required. Specifies the subject of the email.
Note: This parameter cannot contain any newline characters
Message Required. Defines the message to be sent. Each line should be separated with a
LF (n). Lines should not exceed 70 characters
Headers Optional. Specifies additional headers, like From, Cc, and Bcc. The additional
headers should be separated with a CRLF (rn)
Parameters Optional. Specifies an additional parameter to the sendmail program
Exercicio: Fazer um formulario para envio de mail.
80. • HTML – Hypertext Markup Language
– Linguagem por defeito das paginas de internet, que por sua vez é interpetada por
browsers. Nasceu do padrão HyTime com SGML.
– Vamos ver exemplos mais com a versão 4.01 e alguns 5.0
–
Exemplo de uma pagina simples
< !DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
81. • HTML
– Headings
<h1>This is a heading</h1>
<h2>This is a heading</h2>
– Paragraphs
<p>This is a paragraph.</p>
<p>This is another paragraph.</p>
– Links
<a href="http://www.w3schools.com">This is a link</a>
– Images
<img src="w3schools.jpg" width="104" height="142">
– Formatting Tags
• Usa as tags <b>, <i>, <u>,<sub> e <sup>
<b>bold</b>
<i>italico</i>
<u>underline</u>
<sup>2</sup><sub>2</sub>
82. • HTML - <head> Element
– pode ter as tags:
<title>, <style>, <meta>, <link>, <script>, <noscript>, e <base>.
– Titles
<head>
<title>My first HTML page</title>
</head>
<head>
<style type="text/css">
body {background-color:yellow}
p {color:blue}
</style>
</head>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
84. • HTML – Lists
– Unordered Lists
<ul>
<li>Coffee</li>
<li>Milk</li>
</ul>
– Ordered Lists
<ol>
<li>Coffee</li>
<li>Milk</li>
</ol>
– Definition Lists
<dl>
<dt>Coffee</dt>
<dd>- black hot drink</dd>
<dt>Milk</dt>
<dd>- white cold drink</dd>
</dl>
85. • HTML - Grouping tags
– DIV
<div style=“background-color:salmon;width:300px;height:200px;”></div>
– PRE
<pre>Este texto não altera
a formatação</pre>
– SPAN
<span style=“color:red”>Isto é uma span
a
Formatação
não se altera</span>
– IFRAME
<iframe src=“http://www.sporting.pt “ width=“800” height=“400” frameborder=“0”></iframe>
86. • HTML – Multimedia Tags
– Youtube
<iframe width="420" height="345“ src="http://www.youtube.com/embed/XGSy3_Czz8k">
</iframe>
– Video
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4">
<source src="movie.ogg" type="video/ogg">
Your browser does not support the video tag.
</video>
- Audio
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Your browser does not support the audio tag.
</audio>
87. • HTML – Colors
– http://www.w3schools.com/tags/ref_colornames.asp
– Tem cerca de 16 milhões de cores. Sendo a sua obtenção através de Red, Green,e Blue
valores de 0 a 25 (256 x 256 x 256).
• Exemplos de sua utilização:
<span style=“color: red”>Não gosto de esta cor</span>
<div style=“background-color: #FF0099”> que cor é esta?</span>
<font color=“cyan”>Olha a cor</font>
<body style=“background-color: salmon”>cor de fundo</span>
<table bordercolor=“brown”…>
• Todos os objetos do HTML têm algum atributo com cor.Ex: color, background-color,
bordercolor, etc.
88. • JavaScript
– JavaScript é uma linguagem de script baseada em ECMAScript padronizada pela Ecma
international nas especificações ECMA-262[2] e ISO/IEC 16262 e é atualmente a
principal linguagem para programação client-side em navegadores web.
– Foi concebida para ser uma linguagem script com orientação a objetos baseada em
protótipos, tipagem fraca e dinâmica e funções de primeira classe. Possui suporte à
programação funcional e apresenta recursos como fechamentos e funções de alta
ordem comumente indisponíveis em linguagens populares como Java e C++.
• Mais linguagens de script
-VBScript, Ruby, Python, Tcl, ActionScript
<script>
document.write("Hello World!")
</script>
<noscript>Sorry, your browser does not support JavaScript!</noscript>
89. • JavaScript
– Eventos
<button type="button" onclick=“alert('clicked')">Click Me!</button>
• Tipos de eventos
– http://www.w3schools.com/tags/ref_eventattributes.asp
– Existem eventos para window, forms, keyboard, mouse e media
– Manipulando HTML
<script>document.write("<p>This is a paragraph</p>");</script>
– Manipulando estilos
<span id=“demo”>teste</span>
<script>document.getElementById("demo").style.color="#ff0000";</script>
90. • SQL
– Significa Structured Query Language
• é a linguagem de pesquisa declarativa padrão
para banco de dados relacional (base de dados
relacional). Muitas das características originais do SQL
foram inspiradas na álgebra relacional.
• Existem 4 operações fundamentais no SQL, que
tambem são conhecidas por CRUD (Create, Read,
Update e Delete)
– Insert, criar registo numa tabela
– Select, obter registo(s( de uma tabela
– Update, atualizar um registo numa tabela
– Delete, apagar um registo de uma tabela
91. • SQL
– O sql é comum a todas as bases de dados,
simplesmente cada tipo de repositório tem o seu
tipo de dialecto.
• Exemplos:
– SQL Server – T-SQL
– Oracle – PL/SQL
– MySQL – MySQL transactional
– As diferenças nos comandos do SQL são mais sentidas não a
nivel das operações CRUD, mas no que se refere mais com
funções, procedures, triggers e outras funcionalidades. Certos
tipos de dados, tambem não são comuns entre alguns
92. • SQL
– Comando Select
• Select campo1,campo2,… from nome_Tabela
ou
• Select * from nome_tabela
– Comando Insert
• Insert into nome_Tabela(campo1,campo2) values
(valor1, valor2,…)
ou
• Insert into nome_Tabela value (valor1,valor2,…)
93. • SQL
– Comando Update
• Update nome_tabela set campo1 =valor1,
campo2=valor2… where chave = valor_chave *
– Comando Delete
• Delete from nome_Tabela where chave = valor_chave *
• *: recomendado uso do query recorrendo ao campo
chave da tabela, para garantir que é afetado o registo
pretendido
• Nestes comandos esquecer o uso do comando where, é
a morte do artista!
94. • PHPMyAdmin
– é um Aplicativo Web desenvolvido em PHP para administração
do MySQL pela Internet.
– A partir deste sistema é possível criar e remover bases de
dados, criar, remover e alterar tabelas, inserir, remover e editar
campos, executar códigos SQL e manipular campos chaves.
– É muito utilizado por programadores web que muitas vezes
necessitam manipular bases de dados. Normalmente, o
phpMyAdmin é tratado como uma ferramenta obrigatória em
quase todas as hospedagens da web, além de pacotes off-line,
como o WAMPServer, XAMPP, EasyPHP e PHP Triad.
97. • MySQL
– Portabilidade (suporta praticamente qualquer plataforma atual);
– Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface para
diversas linguagens de programação, como Delphi, Java, C/C++, C#, Visual
Basic, Python, Perl, PHP,ASP e Ruby)
– Excelente desempenho e estabilidade;
– Pouco exigente quanto a recursos de hardware;
– Facilidade de uso;
– É um Software Livre com base na GPL (entretanto, se o programa que acessar o Mysql
não for GPL, uma licença comercial deverá ser adquirida)[6];
– Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon, BDB,
Archive, Federated, CSV, Solid…
– Suporta controle transacional;
– Suporta Triggers , Cursors (Non-Scrollable e Non-Updatable), Stored Procedures e
Functions;
– Replicação facilmente configurável;
– Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.
98. • SQL – PHP
– Connect to Database
<?php
$host = "localhost";
$username = "root";
$password = "";
$db = "test";
$con = mysql_connect($host,$username,$password);
if (!$con) die("Unable to connect to MySQL: " . mysql_error());
mysql_select_db($db)
or die("Unable to select database: " . mysql_error());
?>
100. • SQL – INSERT com PHP
<?php
include_once "connect.php";
$sql = "INSERT INTO Banda (Nome) VALUES (‘nome da banda')";
mysql_query($sql);
mysql_close($con);
?>
• SQL – UPDATE com PHP
<?php
include_once "connect.php";
$update = "UPDATE BANDA SET NOME='METALLICA' WHERE ID = 3";
mysql_query($update);
mysql_close($con);
?>
101. • SQL – DELETE com PHP
<?php
include_once "connect.php";
$delete = "DELETE FROM BANDA WHERE ID = 4";
mysql_query($delete);
mysql_close($con);
?>
Outra forma é com TRUNCATE TABLE BANDA;
Mais rapido que o anterior, fazendo ainda o drop e o recreate, tem a
vantagem acrescida de o autoincremente ser feito reset, ao contrario do
DELETE.
102. • Sites importantes sobre PHP:
– http://php.net/
– http://www.mysql.com/
– http://www.w3schools.com/
– http://www.wampserver.com/en/
– http://www.apache.org/