PHP - Escopo e Visibilidade

Description

Esboço sobre Visibilidade de variáveis e Escopo de Variáveis. Conforme for compreendendo mais sobre o assunto, atualizações serão realizadas.
Vinícius Rezendrix
Flowchart by Vinícius Rezendrix, updated more than 1 year ago
Vinícius Rezendrix
Created by Vinícius Rezendrix about 5 years ago
46
0

Resource summary

Flowchart nodes

  • Escopo É o contexto delimitante aos quais valores e expressões estão associados
  • É utilizado para definir o grau de ocultação de informação, isto é, a visibilidade e acessibilidade às variáveis em diferentes partes do programa.
  • As funções em PHP possuem seu escopo restrito de forma a tornar o bloco de instrução da função isolado.
  • Em PHP temos diversos escopos: * Escopo global * Escopo de funções * Escopo de classes * Escopo de namespace
  • Escopo de variável global Variáveis globais só podem ser acessadas dentro das funções se forem declaradas
  • Escopo de variável|Função|Local  O escopo de uma variável é o contexto onde foi definida. A maioria das variáveis do PHP tem somente escopo local.
  • Variáveis locais só podem ser acessadas dentro da função que a criou for($i=0;$i<10 $i++){ } $i é uma variável local Uma variável criada dentro de uma função é destruída ao final da execução da própria função;
  • $GLOBALS  É um array associativo, que tem como chaves os nomes das variáveis globais e o conteúdo dessas variáveis como o valor do elemento do array. 
  • Pode-se usar a palavra reservada "global" antes de declarar uma variável em uma função para ter acesso às variáveis globais dentro daquela função
  • $cachorro = Bob;   function latir (){            global $cachorro;             echo "Au Au - latiu " . $cachorro; }
  • $cachorro = Bob;   function latir (){             echo "Au Au - latiu " . $GLOBAL['cachorro']; }
  • VISIBILIDADE
  • Encapsulamento das variáveis e funções
  • Uma função pode ser ao mesmo tempo: public e static private e static protected e constant
  • Public ---------------------------------------- É a farra do boi. Todos tem acesso as funções e variáveis de dentro e de fora da Classe
  • Private ------------------------------------------ É a invisibilidade total. Uma função com visibilidade private é invisível até para as Classes Filhas que estendem a Classe Pai. Private functions não são herdadas pelas Classes Filhas e não permitem que estas sobrescrevam as funções usando o mesmo nome.   Como as funções protected, podem ser acessadas por funções públicas que façam acesso aos dados privados
  • Protected ----------------------------------------- É mais seguro que Public. A Classe Filha pode acessar, usar e sobrescrever as funções herdadas da Classe Pai Class Pessoa { protected $nome = 'Paulo'; } Não permite que as funções e variáveis sejam acessadas(diretamente) fora do arquivo que criou ou estendeu a classe. $pessoa = new Pessoa(); $pessoa->nome;  Não funciona!!! Para acesso, deve-se ter uma função public que faça o acesso aos dados protegidos.   Faz parte do Encapsulamento como os métodos Geters() e Setters().
  • Escopo de Classes
  • Fontes: https://pt.stackoverflow.com/questions/135572/qual-a-diferen%C3%A7a-entre-escopo-e-tempo-de-vida/135573 - explicação sobre escopo bem detalhada
Show full summary Hide full summary

Similar

PHP e Laravel
Danilo Righetto
Curso Básico I PHP & MYSQL
Silvio H Fleming
GMUD - Gestão de mudança
Welingson Santos
Laravel
Rafael Gibam
Organizando Estudos de Férias.
Ronald SS
Sistema Eventos
Victor Braun
Esquema do CRUD WEBSERVICE PHP
Alex Silva
Valodando formulario login
Daniel Souza7582
Esquema de Pastas Laravel 6.2
Vinícius Rezendrix
Introdução à Linguagem PHP 7
Kelvin Renan Santos de Lira krsdl