Cita: que es una pseudo-variable?
a que se refiere con invocado dentro del contexto de un objeto?
$this es una variable especial que le permite a un objeto(instancia de una clase) conocer que variables y métodos le pertenecen; El contexto del objeto seria lo que esta definido en su clase:
Un ejemplo sencillo para que veas la diferencia:
Código PHP:
Ver original$global = 'variable Global';
class A {
private $global;
public function __construct()
{
$this->global = 'Variable de objeto';
}
public function display(){
echo $global = 'Variable local'.'<br>';
global $global;
echo $global .'<br>';
echo $this->global . '<br>';
}
}
$a = new A();
$a->display();
En el ejemplo si yo no uso el $this el objeto nunca sabría que variable esta definida como una propiedad de su clase (private $global)
Cita: yo veo los códigos y para mi la variable $this es como convertir una funcion a variable $esto= funcion()
Esto seria una funcion anonima ver:
http://www.php.net/manual/en/functions.anonymous.php Cita: el uso de NEW para instanciar clases a que se refiere con instanciar?
Para saber que es una instancia necesitas conocer que es un objeto y una clase;
- Un objeto tiene estado, comportamiento e identidad; la estructura y comportamiento de objetos similares están definidas en su clase común; el termino instancia y objeto son intercambiables.
- Una clase es un conjunto de objetos que comparten una estructura y comportamiento común
Partiendo de las definiciones:
Código PHP:
Ver originalclass Usuario {
private $username;
private $password;
public function __construct($username, $password)
{
$this->setUsername($username);
$this->setPassword($password);
}
/**
* @param mixed $password
*/
public function setPassword($password)
{
$this->password = $password;
}
/**
* @return mixed
*/
public function getPassword()
{
return $this->password;
}
/**
* @param mixed $username
*/
public function setUsername($username)
{
$this->username = $username;
}
/**
* @return mixed
*/
public function getUsername()
{
return $this->username;
}
}
Esto es una clase; el conjunto de todos los objetos usuario.
Lo siguiente seria una instancia y por ende un objeto
Código PHP:
Ver original//Instancia u objeto
$user = new User('arcanisgk122','123456789');
echo "Usuario: $user";
Instancia es la forma en la que le dices a php que asigne memoria para crear un objeto ($user) a partir de su clase (class User )
Cita: dentro de una clase Existen:
Function(),
public function,
static function,
a que se refiere cada una y cual es su uso.
El acceso a las propideades y métodos de una clase pueden controlarse mediante tres palabras claves: public, protected y private las cuales están documentadas en el manual:
http://www.php.net/manual/es/languag...visibility.php
Con esto php puede dar cumplimiento a un concepto importante; el encapsulamiento:
- Es el proceso de empaquetar tus programas dividiendo cada una de sus clases en dos partes distintas: La interfase y la implementación
Cita: el nuevo standart ::class uso de "::" que es y cual es su uso sustituye a algo actualmente?
Te permite resolver el nombre cualificado de una clase ejemplo:
Código PHP:
Ver originaluse MyVendor\SomeComponent\TargetEntityNs as Entity;
// inside a test case
$entityManager->find(Entity\User::class, 5);
// as opposed to
$entityManager->find('MyVendor\SomeComponent\TargetEntityNs\User', 5);
Cita: tambien observo codigo con: __construct( ) me gustaría entender cual es la diferencia entre declarar una funcion del tipo funcion(){codigo} a utilizar __construct( )
El constructor es una funcion especial y puede estar o no definida en la clase; su finalidad es inicializar la creación de un objeto. En el ejemplo que puse de User el constructor me devuelve el objeto User ya con un nombre de usuario y contraseña.
Mas detalles en el manual:
http://www.php.net/manual/es/language.oop5.decon.php Cita: son algunas de las cosas que deberíamos de aprender antes de manejar clases y antes de comenzar a programar orientado a objetos
En realidad antes de abordar un lenguaje orientado a objetos es mas importante que entiendas los conceptos fundamentales que están detrás de la POO:
- Objeto
- Clase
- Abstracción
- Encapsulamiento
- Generalización
- Polimorfismo