SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Tecnologias server-side: Tipos de dados e variáveis
em PHP
Carlos Santos
LabMM 4 - NTC - DeCA - UA
Aula 11, 02-04-2013
Tipos de dados: simples/escalares

boolean

  • True (<> 0) ou False (= 0)

integer

  • sem parte fraccionária
  • base 16 (Hexadecimal), base 10 (Decimal), base 8 (Octal), Base 2 (Binário)
  • valor máximo = 231

float, real, double

  • com parte fraccionária

string

  • sequência de caracteres
Tipos de dados: compostos

... permitem agregar vários valores sob uma mesma entidade

Array

  • $marcacarro = array();
  • $marcacarro[0] = “Opel”;
  • $marcacarro[1] = “Renault”;           0       1        2
  • $marcacarro[2] = “Fiat”;             Opel   Renault   Fiat


Tipos de arrays

  • Arrays (com índice)
  • Arrays associativos
  • Arrays multi-dimensionais
Tipos de dados: compostos

Object

  • declarado através duma classe
  • Class Carro {
    ! ! ! Propriedades -> Variáveis
    ! ! ! Métodos -> Funções
    }


  • instanciados através da declaração duma variável
     • $CarroPolicia = new Carro;
     • $CarroLadroes = new Carro;
Tipos de dados: type casting

conversão do tipo de dados armazenado numa variável (type casting)

  • $score   = (double) 13;      -> $score = 13.0
  • $score   = (int) 13.22645;      -> $score = 13

se necessário o PHP converte automaticamente o tipo de dados de modo
a que o código possa ser corretamente processado. Exemplos:
  • $a = 15; $b = “5”;
  • $resultado = $a + $b; -> $resultado = 20


  • $cond = “1.0”;
  • if ($cond) echo “a variável cond é verdadeira”;
Tipos de dados: type casting

funções para obter e modificar o tipo de dados de uma variável

    • verificar o tipo de dados duma variável
       • gettype (var) -> devolve o tipo de dados de var
    • modificar o tipo de dados duma variável
       • settype (var, type) -> atribui a var o tipo de dados type

funções para testar o tipo de dados duma variável (retornan true ou false)
    • is_float (var); is_bool(var); is_integer(var); is_numeric(var);


    $foo   = '1';
     echo   gettype($foo); !// output -> 'string'
     $foo   = (int)$foo;
     echo   gettype($foo); !// output -> 'integer'
Identificadores

associados a variáveis, funções e outros objectos definidos pelo utilizador

possuem um ou mais caracteres

começam por letras ou por “_”

são Case Sensitive!

	   My_function        $Size   $_preco   $Teste

    • Carro <> carro
Variáveis

armazenam valores

identificam esses valores armazenados

declaração implícita -> basta referir a variável no código

	   $a

atribuição directa de valores

	   $a = 2;

atribuição de valores por referência

	   $c =& $b;	 	

    • se $b = 10 então $c = 10 (qualquer alteração numa reflecte-se na outra)
Atribuição de valores por referência

Exemplo:

  • <?php
       $a =   " Gostas do SCP?";
       $b =   &$a;
       echo   $a;
       echo   $b;
       $b =   " Claro que sim!";
       echo   $a;
       echo   $b;
    ?>




 Gostas do SCP? Gostas do SCP? Claro que sim! Claro que sim!
Scope (âmbito das variáveis)

locais

    • se declaradas dentro duma função então existem apenas nesse âmbito


   
    $x = 4;
         function aMinhaFuncao () {
            $x = 0; // Variável local
         }

        • dentro da função $x = 0
        • fora da função $x = 4 (é uma variável distinta e não altera o valor da
          variável local)
Scope (âmbito das variáveis)

parâmetros de funções

    • existem apenas no âmbito da respetiva função


   
   funtion soma ($parcelaA, $parcelaB) {
           $resultado = $parcelaA + $parcelaB;
           return $resultado;
        }
Scope (âmbito das variáveis)

globais

    • visíveis globalmente
    • GLOBAL $x; //Para alterar $x dentro de uma função

estáticas

    • existem no âmbito das funções mas não são destruídas quando se sai
      da função


   
     function contador () {
!   !     ! static $valor = 0;
!   !     ! $valor = $valor + 1;
!   !     ! echo $valor;
!   !     }
    • a cada chamada da função contador() a variável $valor é incrementada
      uma unidade
Scope (âmbito das variáveis)

superglobais -> sempre acessíveis e definidas pelo sistema

$_SERVER

  • fornece dados sobre o ambiente em que a página corre (servidor)

$_FILES
  • dados sobre os ficheiros transferidos para o servidor pelo método POST

$_ENV
  • tal como a $_SERVER fornece dados sobre o ambiente onde a página
    corre (servidor e cliente)

$_SESSION

  • guarda os dados de todas as variáveis de sessão de um utilizador
Scope (âmbito das variáveis)

superglobais

$_GET

  • passagem de parâmetros pelo método GET
     • http://www.example.com/index.php?cat=apache&id=157
     • $_GET['cat'] -> "apache“;
     • $_GET['id'] -> "157“;


  • query string
     • tudo o que se segue ao “?” no URL
Scope (âmbito das variáveis)

superglobais

$_POST

  • passagem de parâmetros pelo método POST


<form action="subscribe.php" method="post">
Email address:<br />
<input type="text" name="email" size="20" maxlength="50"
value="" /><br />
<input type="submit" name="subscribe" value="subscribe!" />
</form>

na página subscribe.php existirá a variável -> $_POST['email']
Constantes e expressões

constantes

  • valores que não são modificados ao longo da execução da aplicação
  • são valores globais
  • define (‘PI’, 3.141592);
    $dobro = 2 * PI;
    echo $dobro; echo PI;

expressões

  • representam genericamente uma ação no nosso programa…
  • contêm operandos e operadores
     • $a = 2;
     • $soma = 2 + 3;
     • $contador++;
Operadores

precedência entre operadores

  • seguem as regras matemáticas!

operadores aritméticos

  • $a + $b -> adição
  • $a - $b -> subtracção
  • $a * $b -> multiplicação
  • $a / $b -> divisão
  • $a % $b -> resto da divisão inteira de $a por $b
Operadores

operadores de atribuição

  • $a = 5 -> atribuição -> $a igual a 5
  • $a += 5 -> adição-atribuição -A $a igual a $a mais 5 -> $a=$a+5
  • $a *= 5 -> multiplicação-atribuição -> $a igual a $a multiplicado por 5
  • $a /= 5 -> divisão-atribuição -> $a igual a $a dividido por 5


operadores de strings

  • $a = "abc"."def"; -> concatenação -> $a igual a "abcdef"
  • $a .= "abc" -> concatenação-atribuição > $a igual a $a concatenado com
    "abc"
Operadores

operadores de incremento e decremento

  • ++$a, $a++ -> incremento -> $a = $a + 1;
  • --$a, $a-- -> decremento -> $a = $a - 1;
  • (os resultados nem sempre são iguais)


          <?php                                <?php
             $a=1;                                $a=1;
             $c=++$a;                             $c=$a++;
             echo $a." | ";                       echo $a." | ";
             echo $c;                             echo $c;
          ?>                                   ?>



                2 | 2                               2 | 1
Operadores

operadores lógicos

  • $a && $b -> e lógico -> verdadeiro se ambos forem verdadeiros
  • $a || $b -> ou lógico -> verdadeiro se pelo menos um for verdadeiro
  • !$a -> negação -> verdadeiro se $a for falso
Operadores

operadores de igualdade

  • $a == $b -> Será $a igual a $b?
  • $a != $b -> Será $a diferente a $b?
  • $a === $b -> Será $a idêntico a $b? (compara o valor e o tipo de dados
    armazenado)

operadores de comparação (para valores numéricos)

  • $a < $b -> Será $a menor que $b?
  • $a > $b -> Será $a maior que $b?
  • $a <= $b -> Será $a menor ou igual que $b?
  • $a >= $b -> Será $a maior ou igual que $b?

Contenu connexe

Tendances

Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação WebDalton Martins
 
Introdução ao Ruby
Introdução ao RubyIntrodução ao Ruby
Introdução ao RubyMilton Moura
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesCarlos Santos
 
LabMM4 (T12 - 12/13) - Estruturas de controlo
LabMM4 (T12 - 12/13) - Estruturas de controloLabMM4 (T12 - 12/13) - Estruturas de controlo
LabMM4 (T12 - 12/13) - Estruturas de controloCarlos Santos
 
Refactoring sem complicação!
Refactoring sem complicação!Refactoring sem complicação!
Refactoring sem complicação!Thamara Hessel
 
Funções PHP - Criação de sites II
Funções PHP - Criação de sites II Funções PHP - Criação de sites II
Funções PHP - Criação de sites II info_cimol
 
Substituir Type Codes "com" Classe
Substituir Type Codes "com" ClasseSubstituir Type Codes "com" Classe
Substituir Type Codes "com" ClasseAntonio Spinelli
 
Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIinfo_cimol
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIinfo_cimol
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIinfo_cimol
 
Proxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesStanislaw Pusep
 

Tendances (20)

Aula 02 - Introdução ao PHP - Programação Web
Aula 02  - Introdução ao PHP - Programação WebAula 02  - Introdução ao PHP - Programação Web
Aula 02 - Introdução ao PHP - Programação Web
 
Introdução ao Ruby
Introdução ao RubyIntrodução ao Ruby
Introdução ao Ruby
 
PHP ao Extremo
PHP ao ExtremoPHP ao Extremo
PHP ao Extremo
 
Curso PHP: Básico JavaScript
Curso PHP: Básico JavaScriptCurso PHP: Básico JavaScript
Curso PHP: Básico JavaScript
 
Revisao php
Revisao phpRevisao php
Revisao php
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - Funções
 
LabMM4 (T12 - 12/13) - Estruturas de controlo
LabMM4 (T12 - 12/13) - Estruturas de controloLabMM4 (T12 - 12/13) - Estruturas de controlo
LabMM4 (T12 - 12/13) - Estruturas de controlo
 
Refactoring sem complicação!
Refactoring sem complicação!Refactoring sem complicação!
Refactoring sem complicação!
 
Funções PHP - Criação de sites II
Funções PHP - Criação de sites II Funções PHP - Criação de sites II
Funções PHP - Criação de sites II
 
Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)
 
Substituir Type Codes "com" Classe
Substituir Type Codes "com" ClasseSubstituir Type Codes "com" Classe
Substituir Type Codes "com" Classe
 
PHP - Arrays
PHP - ArraysPHP - Arrays
PHP - Arrays
 
Curso de Introdução - PHP
Curso de Introdução - PHPCurso de Introdução - PHP
Curso de Introdução - PHP
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites II
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 
Silex 101
Silex 101Silex 101
Silex 101
 
Variáveis
VariáveisVariáveis
Variáveis
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites II
 
Proxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testesProxy, Man-In-The-Middle e testes
Proxy, Man-In-The-Middle e testes
 

En vedette

LabMM4 (T02 - 12/13) - Bases de dados
LabMM4 (T02 - 12/13) - Bases de dadosLabMM4 (T02 - 12/13) - Bases de dados
LabMM4 (T02 - 12/13) - Bases de dadosCarlos Santos
 
04 LabMM4 - Bases de dados
04 LabMM4 - Bases de dados04 LabMM4 - Bases de dados
04 LabMM4 - Bases de dadosCarlos Santos
 
03 LabMM4 - Bases de dados
03 LabMM4 - Bases de dados03 LabMM4 - Bases de dados
03 LabMM4 - Bases de dadosCarlos Santos
 
LabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insertLabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insertCarlos Santos
 
Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4 Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4 Carlos Santos
 
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPCarlos Santos
 
Banco II - PostgreSQL - Funções
Banco II - PostgreSQL - FunçõesBanco II - PostgreSQL - Funções
Banco II - PostgreSQL - FunçõesGustavo Sávio
 
06 LabMM4 - Bases de dados
06 LabMM4 - Bases de dados06 LabMM4 - Bases de dados
06 LabMM4 - Bases de dadosCarlos Santos
 

En vedette (9)

LabMM4 (T02 - 12/13) - Bases de dados
LabMM4 (T02 - 12/13) - Bases de dadosLabMM4 (T02 - 12/13) - Bases de dados
LabMM4 (T02 - 12/13) - Bases de dados
 
04 LabMM4 - Bases de dados
04 LabMM4 - Bases de dados04 LabMM4 - Bases de dados
04 LabMM4 - Bases de dados
 
03 LabMM4 - Bases de dados
03 LabMM4 - Bases de dados03 LabMM4 - Bases de dados
03 LabMM4 - Bases de dados
 
LabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insertLabMM4 (T18 - 12/13) - Navegação e insert
LabMM4 (T18 - 12/13) - Navegação e insert
 
Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4 Aula 02 PHP+MySQL - LabMM4
Aula 02 PHP+MySQL - LabMM4
 
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
 
Banco II - PostgreSQL - Funções
Banco II - PostgreSQL - FunçõesBanco II - PostgreSQL - Funções
Banco II - PostgreSQL - Funções
 
06 LabMM4 - Bases de dados
06 LabMM4 - Bases de dados06 LabMM4 - Bases de dados
06 LabMM4 - Bases de dados
 
Polimorfismo
PolimorfismoPolimorfismo
Polimorfismo
 

Similaire à LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis

PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesAlmir Mendes
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX Sérgio Souza Costa
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que pareceImpacta Eventos
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Willian Magalhães
 
Ruby on rails gds 2011
Ruby on rails   gds 2011Ruby on rails   gds 2011
Ruby on rails gds 2011JogosUnisinos
 
Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o JavascriptMichel Ribeiro
 
PHP - Uma Pequena Introducao
PHP - Uma Pequena IntroducaoPHP - Uma Pequena Introducao
PHP - Uma Pequena Introducaojonatasoliveira
 
LabMM4 (T14 - 12/13) - Arrays
LabMM4 (T14 - 12/13) - ArraysLabMM4 (T14 - 12/13) - Arrays
LabMM4 (T14 - 12/13) - ArraysCarlos Santos
 

Similaire à LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis (20)

PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
Introdução ao PHP Parte 2
Introdução ao PHP Parte 2Introdução ao PHP Parte 2
Introdução ao PHP Parte 2
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
M5 php rc
M5 php rcM5 php rc
M5 php rc
 
Php
PhpPhp
Php
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Php 02 Primeiros Passos
Php 02 Primeiros PassosPhp 02 Primeiros Passos
Php 02 Primeiros Passos
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
 
Ecommerce, mais simples do que parece
Ecommerce, mais simples do que pareceEcommerce, mais simples do que parece
Ecommerce, mais simples do que parece
 
PHP MySQL Aula 07
PHP MySQL Aula 07PHP MySQL Aula 07
PHP MySQL Aula 07
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Php Math and arrays
Php Math and arraysPhp Math and arrays
Php Math and arrays
 
Ruby on rails gds 2011
Ruby on rails   gds 2011Ruby on rails   gds 2011
Ruby on rails gds 2011
 
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o Javascript
 
PHP - Uma Pequena Introducao
PHP - Uma Pequena IntroducaoPHP - Uma Pequena Introducao
PHP - Uma Pequena Introducao
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
 
Ganhando tempo com casos de testes
Ganhando tempo com casos de testesGanhando tempo com casos de testes
Ganhando tempo com casos de testes
 
LabMM4 (T14 - 12/13) - Arrays
LabMM4 (T14 - 12/13) - ArraysLabMM4 (T14 - 12/13) - Arrays
LabMM4 (T14 - 12/13) - Arrays
 

Plus de Carlos Santos

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?Carlos Santos
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesCarlos Santos
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEduCarlos Santos
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialCarlos Santos
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosCarlos Santos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosCarlos Santos
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Carlos Santos
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoCarlos Santos
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Carlos Santos
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentCarlos Santos
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusCarlos Santos
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectCarlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoCarlos Santos
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCACarlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidCarlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoCarlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)Carlos Santos
 

Plus de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicial
 
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 

Dernier

ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfmirandadudu08
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarIedaGoethe
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 

Dernier (20)

ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Regência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdfRegência Nominal e Verbal português .pdf
Regência Nominal e Verbal português .pdf
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
Caixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogarCaixa jogo da onça. para imprimir e jogar
Caixa jogo da onça. para imprimir e jogar
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 

LabMM4 (T11 - 12/13) - PHP - Tipos de dados e variáveis

  • 1. Tecnologias server-side: Tipos de dados e variáveis em PHP Carlos Santos LabMM 4 - NTC - DeCA - UA Aula 11, 02-04-2013
  • 2. Tipos de dados: simples/escalares boolean • True (<> 0) ou False (= 0) integer • sem parte fraccionária • base 16 (Hexadecimal), base 10 (Decimal), base 8 (Octal), Base 2 (Binário) • valor máximo = 231 float, real, double • com parte fraccionária string • sequência de caracteres
  • 3. Tipos de dados: compostos ... permitem agregar vários valores sob uma mesma entidade Array • $marcacarro = array(); • $marcacarro[0] = “Opel”; • $marcacarro[1] = “Renault”; 0 1 2 • $marcacarro[2] = “Fiat”; Opel Renault Fiat Tipos de arrays • Arrays (com índice) • Arrays associativos • Arrays multi-dimensionais
  • 4. Tipos de dados: compostos Object • declarado através duma classe • Class Carro { ! ! ! Propriedades -> Variáveis ! ! ! Métodos -> Funções } • instanciados através da declaração duma variável • $CarroPolicia = new Carro; • $CarroLadroes = new Carro;
  • 5. Tipos de dados: type casting conversão do tipo de dados armazenado numa variável (type casting) • $score = (double) 13; -> $score = 13.0 • $score = (int) 13.22645; -> $score = 13 se necessário o PHP converte automaticamente o tipo de dados de modo a que o código possa ser corretamente processado. Exemplos: • $a = 15; $b = “5”; • $resultado = $a + $b; -> $resultado = 20 • $cond = “1.0”; • if ($cond) echo “a variável cond é verdadeira”;
  • 6. Tipos de dados: type casting funções para obter e modificar o tipo de dados de uma variável • verificar o tipo de dados duma variável • gettype (var) -> devolve o tipo de dados de var • modificar o tipo de dados duma variável • settype (var, type) -> atribui a var o tipo de dados type funções para testar o tipo de dados duma variável (retornan true ou false) • is_float (var); is_bool(var); is_integer(var); is_numeric(var); $foo = '1'; echo gettype($foo); !// output -> 'string' $foo = (int)$foo; echo gettype($foo); !// output -> 'integer'
  • 7. Identificadores associados a variáveis, funções e outros objectos definidos pelo utilizador possuem um ou mais caracteres começam por letras ou por “_” são Case Sensitive! My_function $Size $_preco $Teste • Carro <> carro
  • 8. Variáveis armazenam valores identificam esses valores armazenados declaração implícita -> basta referir a variável no código $a atribuição directa de valores $a = 2; atribuição de valores por referência $c =& $b; • se $b = 10 então $c = 10 (qualquer alteração numa reflecte-se na outra)
  • 9. Atribuição de valores por referência Exemplo: • <?php $a = " Gostas do SCP?"; $b = &$a; echo $a; echo $b; $b = " Claro que sim!"; echo $a; echo $b; ?> Gostas do SCP? Gostas do SCP? Claro que sim! Claro que sim!
  • 10. Scope (âmbito das variáveis) locais • se declaradas dentro duma função então existem apenas nesse âmbito $x = 4; function aMinhaFuncao () { $x = 0; // Variável local } • dentro da função $x = 0 • fora da função $x = 4 (é uma variável distinta e não altera o valor da variável local)
  • 11. Scope (âmbito das variáveis) parâmetros de funções • existem apenas no âmbito da respetiva função funtion soma ($parcelaA, $parcelaB) { $resultado = $parcelaA + $parcelaB; return $resultado; }
  • 12. Scope (âmbito das variáveis) globais • visíveis globalmente • GLOBAL $x; //Para alterar $x dentro de uma função estáticas • existem no âmbito das funções mas não são destruídas quando se sai da função function contador () { ! ! ! static $valor = 0; ! ! ! $valor = $valor + 1; ! ! ! echo $valor; ! ! } • a cada chamada da função contador() a variável $valor é incrementada uma unidade
  • 13. Scope (âmbito das variáveis) superglobais -> sempre acessíveis e definidas pelo sistema $_SERVER • fornece dados sobre o ambiente em que a página corre (servidor) $_FILES • dados sobre os ficheiros transferidos para o servidor pelo método POST $_ENV • tal como a $_SERVER fornece dados sobre o ambiente onde a página corre (servidor e cliente) $_SESSION • guarda os dados de todas as variáveis de sessão de um utilizador
  • 14. Scope (âmbito das variáveis) superglobais $_GET • passagem de parâmetros pelo método GET • http://www.example.com/index.php?cat=apache&id=157 • $_GET['cat'] -> "apache“; • $_GET['id'] -> "157“; • query string • tudo o que se segue ao “?” no URL
  • 15. Scope (âmbito das variáveis) superglobais $_POST • passagem de parâmetros pelo método POST <form action="subscribe.php" method="post"> Email address:<br /> <input type="text" name="email" size="20" maxlength="50" value="" /><br /> <input type="submit" name="subscribe" value="subscribe!" /> </form> na página subscribe.php existirá a variável -> $_POST['email']
  • 16. Constantes e expressões constantes • valores que não são modificados ao longo da execução da aplicação • são valores globais • define (‘PI’, 3.141592); $dobro = 2 * PI; echo $dobro; echo PI; expressões • representam genericamente uma ação no nosso programa… • contêm operandos e operadores • $a = 2; • $soma = 2 + 3; • $contador++;
  • 17. Operadores precedência entre operadores • seguem as regras matemáticas! operadores aritméticos • $a + $b -> adição • $a - $b -> subtracção • $a * $b -> multiplicação • $a / $b -> divisão • $a % $b -> resto da divisão inteira de $a por $b
  • 18. Operadores operadores de atribuição • $a = 5 -> atribuição -> $a igual a 5 • $a += 5 -> adição-atribuição -A $a igual a $a mais 5 -> $a=$a+5 • $a *= 5 -> multiplicação-atribuição -> $a igual a $a multiplicado por 5 • $a /= 5 -> divisão-atribuição -> $a igual a $a dividido por 5 operadores de strings • $a = "abc"."def"; -> concatenação -> $a igual a "abcdef" • $a .= "abc" -> concatenação-atribuição > $a igual a $a concatenado com "abc"
  • 19. Operadores operadores de incremento e decremento • ++$a, $a++ -> incremento -> $a = $a + 1; • --$a, $a-- -> decremento -> $a = $a - 1; • (os resultados nem sempre são iguais) <?php <?php $a=1; $a=1; $c=++$a; $c=$a++; echo $a." | "; echo $a." | "; echo $c; echo $c; ?> ?> 2 | 2 2 | 1
  • 20. Operadores operadores lógicos • $a && $b -> e lógico -> verdadeiro se ambos forem verdadeiros • $a || $b -> ou lógico -> verdadeiro se pelo menos um for verdadeiro • !$a -> negação -> verdadeiro se $a for falso
  • 21. Operadores operadores de igualdade • $a == $b -> Será $a igual a $b? • $a != $b -> Será $a diferente a $b? • $a === $b -> Será $a idêntico a $b? (compara o valor e o tipo de dados armazenado) operadores de comparação (para valores numéricos) • $a < $b -> Será $a menor que $b? • $a > $b -> Será $a maior que $b? • $a <= $b -> Será $a menor ou igual que $b? • $a >= $b -> Será $a maior ou igual que $b?