/* Resultado: [0] => SetSalario [1] => GetSalario [2] => SetNome [3] => GetNome */ get_class_vars: Retorna um vetor com os nomes das propriedades e conteúdos de uma determinada classe. Note que são valores estáticos definidos na criação da classe. <? class Funcionario { var $Codigo; var $Nome; var $Salario = 586; var $Departamento = 'Contabilidade'; function SetSalario() { } function GetSalario() { } } print_r(get_class_vars('Funcionario')); /* Resultado: Array ( [Codigo] => [Nome] => [Salario] => 586 [Departamento] => Contabilidade ) */ ?> get_object_vars: Retorna um vetor com os nomes e conteúdos das propriedades de um objeto. São valores dinâmicos que se alteram de acordo com o ciclo de vida do objeto. <? class Funcionario { var $Codigo; var $Nome; var $Salario = 586; var $Departamento = 'Contabilidade'; function SetSalario() { } function GetSalario() { } } $jose = new Funcionario; $jose->Codigo = 44; $jose->Nome = 'José da Silva'; $jose->Salario += 100; $jose->Departamento = 'Financeiro'; print_r(get_object_vars($jose)); /* Resultado: Array ( [Codigo] => 44 [Nome] => José da Silva [Salario] => 686 [Departamento] => Financeiro ) */ ?> get_class: Retorna o nome da classe a qual um objeto pertence. <? class Funcionario { var $Codigo; var $Nome; function SetSalario() { } function GetSalario() { } } $jose = new Funcionario; echo get_class($jose); /* Resultado: Funcionario */ ?> get_parent_class: Retorna o nome da classe ancestral (classe-pai). Se o parâmetro for um objeto, retorna o nome da classe ancestral da classe à qual o objeto pertence. Se o parâ- metro for uma string, retorna o nome da classe ancestral da classe passada como parâmetro. <? class Funcionario { var $Codigo; var $Nome; } class Estagiario extends Funcionario { var $Salario; var $Bolsa; } $jose = new Estagiario; echo get_parent_class($jose); echo "\n"; // quebra de linha echo get_parent_class('estagiario'); /* Resultado: Funcionario Funcionario */ ?> is_subclass_of: Indica se um determinado objeto ou classe é derivado de uma determinada classe. <php class Funcionario { var $Codigo; var $Nome; } class Estagiario extends Funcionario { var $Salario; var $Bolsa; } $jose = new Estagiario; if (is_subclass_of($jose, 'Funcionario')) { echo "Classe do objeto Jose é derivada de Funcionario"; } echo "\n"; // quebra de linha if (is_subclass_of('Estagiario', 'Funcionario')) { echo "Classe Estagiario é derivada de Funcionario"; } /* Resultado: Classe do objeto Jose é derivada de Funcionario Classe Estagiario é derivada de Funcionario */ ?> method_exists: Verifica se um determinado objeto possui o método descrito. Podemos verificar a existência de um método antes de executar por engano um método inexistente. <? class Funcionario { var $Codigo; var $Nome; function GetSalario() { } function SetSalario() { } } $jose = new Funcionario; if (method_exists($jose, 'SetNome')) { echo 'Objeto Jose possui método SetNome()'; } if (method_exists($jose, 'SetSalario')) { echo 'Objeto Jose possui método SetSalario()'; } /* Resultado: Objeto Jose possui método SetSalario() */ ?> call_user_func: Executa uma função ou um método de uma classe passado como parâmetro. Para executar uma função, basta passar seu nome como uma string, e, para executar um método de um objeto, basta passar o parâmetro como um array contendo na posição 0 o objeto e na posição 1 o método a ser executado. Para executar métodos estáticos, basta passar o nome da classe em vez do objeto na posição 0 do array. <? // exemplo chamada simples function minhafuncao() { echo "minha função! \n"; } call_user_func('minhafuncao'); // declaração de classe class MinhaClasse { function MeuMetodo() { echo "Meu método! \n"; } } // chamada de método estático call_user_func(array('MinhaClasse', 'MeuMetodo')); // chamada de método $obj = new MinhaClasse(); call_us /* Resultado: minha função! Meu método! Meu método! */ ?> Por hoje é só PessoALL! []'s' /> xALEXANDRE » Programação » PHP » PHP - Programando com Orientação a Objetos - [Parte 4]
 

"Se você não controla sua mente, alguém o fará."

Home » Categorias » Programação » PHP

PHP - Programando com Orientação a Objetos - [Parte 4]

Buenas PessoALL!

Continuando o post anterior PHP - Programando com Orientação a Objetos - Parte 3, Apartir de agora passaremos a introdução de orientação a objetos.

2.4] Manipulação de Objetos
get_class_methods: Retorna um vetor com os nomes dos métodos de uma determinada classe.
   <?
   class Funcionario
   {
   	   function SetSalario()
   	   {
   	   }
   	   function GetSalario()
   	   {
   	   }
   	   function SetNome()
   	   {
   	   }
   	   function GetNome()
   	   {
   	   }
   }
   //print_r(get_class_methods('Funcionario'));
?>   
   /*
   Resultado:
	   [0] => SetSalario
	   [1] => GetSalario
	   [2] => SetNome
	   [3] => GetNome
	*/
	
   


get_class_vars: Retorna um vetor com os nomes das propriedades e conteúdos de uma determinada classe. Note que são valores estáticos definidos na criação da classe.
	<?
	class Funcionario
	{
		   var $Codigo;
		   var $Nome;
		   var $Salario = 586;
		   var $Departamento = 'Contabilidade';
		   function SetSalario()
		   {
		   }
		   function GetSalario()
		   {
		   }
	}
	print_r(get_class_vars('Funcionario'));
	
	/*
	Resultado:
	Array
	(
		   [Codigo] =>
		   [Nome] =>
		   [Salario] => 586
		   [Departamento] => Contabilidade
	)
	*/
	
	?>


get_object_vars: Retorna um vetor com os nomes e conteúdos das propriedades de um objeto. São valores dinâmicos que se alteram de acordo com o ciclo de vida do objeto.
	<?
	class Funcionario
	{
		   var $Codigo;
		   var $Nome;
		   var $Salario = 586;
		   var $Departamento = 'Contabilidade';
		   function SetSalario()
		   {
		   }
		   function GetSalario()
		   {
		   }
	}
	$jose = new Funcionario;
	$jose->Codigo = 44;
	$jose->Nome = 'José da Silva';
	$jose->Salario += 100;
	$jose->Departamento = 'Financeiro';
	print_r(get_object_vars($jose));
	/*
	Resultado:
	Array
	(
		   [Codigo] => 44
		   [Nome] => José da Silva
		   [Salario] => 686
		   [Departamento] => Financeiro
	)
	*/
	?>
	


get_class: Retorna o nome da classe a qual um objeto pertence.
	<?
	class Funcionario
	{
	   var $Codigo;
	   var $Nome;
	   function SetSalario()
	   {
	   }
	   function GetSalario()
	   {
	   }
	}
	$jose = new Funcionario;
	echo get_class($jose);
	
	/*
	Resultado:
	Funcionario
	*/
	?>
	


get_parent_class: Retorna o nome da classe ancestral (classe-pai). Se o parâmetro for um objeto, retorna o nome da classe ancestral da classe à qual o objeto pertence. Se o parâ- metro for uma string, retorna o nome da classe ancestral da classe passada como parâmetro.
	<?
	class Funcionario
	{
		   var $Codigo;
		   var $Nome;
	}
	class Estagiario extends Funcionario
	{
		   var $Salario;
		   var $Bolsa;
	}
	$jose = new Estagiario;
	echo get_parent_class($jose);
	echo "\n";		    // quebra de linha
	echo get_parent_class('estagiario');
	
	/*
	Resultado:
	Funcionario
	Funcionario
	*/
	?>



is_subclass_of: Indica se um determinado objeto ou classe é derivado de uma determinada classe.
	<php
	class Funcionario
	{
		   var $Codigo;
		   var $Nome;
	}
	class Estagiario extends Funcionario
	{
		   var $Salario;
		   var $Bolsa;
	}
	$jose = new Estagiario;
	if (is_subclass_of($jose, 'Funcionario'))
	{
		   echo "Classe do objeto Jose é derivada de Funcionario";
	}
	echo "\n";		    // quebra de linha
	if (is_subclass_of('Estagiario', 'Funcionario'))
	{
		   echo "Classe Estagiario é derivada de Funcionario";
	}
	
	/*
	Resultado:
	Classe do objeto Jose é derivada de Funcionario
	Classe Estagiario é derivada de Funcionario
	*/
	?>
	


method_exists: Verifica se um determinado objeto possui o método descrito. Podemos verificar a existência de um método antes de executar por engano um método inexistente.
<?
	class Funcionario
	{
		   var $Codigo;
		   var $Nome;
		   function GetSalario()
		   {
		   }
		   function SetSalario()
		   {
		   }
	}
	$jose = new Funcionario;
	if (method_exists($jose, 'SetNome'))
	{
		   echo 'Objeto Jose possui método SetNome()';
	}
	if (method_exists($jose, 'SetSalario'))
	{
		   echo 'Objeto Jose possui método SetSalario()';
	}
	/*
	Resultado:
	Objeto Jose possui método SetSalario()
	*/
	?>
	


call_user_func: Executa uma função ou um método de uma classe passado como parâmetro. Para executar uma função, basta passar seu nome como uma string, e, para executar um método de um objeto, basta passar o parâmetro como um array contendo na posição 0 o objeto e na posição 1 o método a ser executado. Para executar métodos estáticos, basta passar o nome da classe em vez do objeto na posição 0 do array.
	<?
	// exemplo chamada simples
	function minhafuncao()
	{
		   echo "minha função! \n";
	}
	call_user_func('minhafuncao');
	// declaração de classe
	class MinhaClasse
	{
		   function MeuMetodo()
		   {
			      echo "Meu método! \n";
		   }
	}
	// chamada de método estático
	call_user_func(array('MinhaClasse', 'MeuMetodo'));
	// chamada de método
	$obj = new MinhaClasse();
	call_us
	
	/*
	Resultado:
	minha função!
	Meu método!
	Meu método!
	*/
	?>



Por hoje é só PessoALL!
[]'s

 

Comentários

 


Captcha


 

Submarino.com.br