significa que ejemplo php wordpress oop class syntax

que - ¿Qué significa "->" significa/se refiere en PHP?



urlencode php (12)

-> es el utilizado para acceder a los métodos y atributos de un objeto. Consulte el php.net/manual/en/language.oop5.php .

Esta pregunta ya tiene una respuesta aquí:

¿Qué significa -> mean / referir en PHP?

En lo siguiente de WordPress, sé lo que hace la sentencia if , por ejemplo, pero ¿qué hace el -> do?

<?php if ( $wp_query->max_num_pages > 1 ) : ?>


Accede a un miembro del objeto de la izquierda con el nombre a la derecha.


Accede al miembro del objeto; $ obj-> prop accede a la propiedad "prop" de cualquier objeto en la variable $ obj.

En muchos otros lenguajes de programación, se usa un período para este propósito: obj.prop u obj.method (), por ejemplo.


En primer lugar, debes comprender lo siguiente. En PHP y en muchos otros idiomas, tenemos los siguientes tipos de entidades:

  • Variables
  • Arrays
  • Objetos

El -> permite acceder a un método o valor dentro de un objeto, de la misma manera que [] permite acceder a los valores dentro de una matriz.

Una clase es como un cuadro, y dentro de ese cuadro hay muchos elementos, y cada elemento puede interactuar entre sí, ya que están dentro del mismo cuadro.

Por ejemplo:

class Box { function firstItem() { } function secondItem() { } }

Lo anterior es lo que llamamos una clase. Básicamente es una pieza estructurada de código que realmente no hace nada hasta que se convierte en un objeto .

El objeto se crea utilizando la new palabra clave, que crea una instancia de una clase y crea un objeto a partir de ella.

$box = new Box;

Ahora el $box anterior, que es un objeto creado a partir de la clase Box, tiene métodos dentro, como firstItem() .

Estas son solo funciones aparte de dentro de las cuales tenemos otra variable llamada $this y esto se usa para acceder a otros métodos dentro de ese objeto.

Ahora, para acceder a los métodos desde fuera de los objetos, debe usar el operador descrito en su pregunta.

$box->firstItem();

El operador -> te permitirá ejecutar el método desde la variable $box .


Es como el punto (.) En JavaScript y Java. Es solo un operador de acceso simple.


Esto es muy simple de entender.

En PHP usamos -> para acceder a un método / propiedad definida dentro de una clase.

Entonces, en su caso ($ wp_query-> max_num_pages), está intentando obtener el valor de max_num_pages que es una variable de la clase $ wp_query.

$ wp_query información del objeto que define la solicitud actual, y luego $ wp_query determina con qué tipo de consulta está tratando (posiblemente un archivo de categoría, archivo con fecha, feed o búsqueda) y recupera las publicaciones solicitadas. Conserva mucha información sobre la solicitud, que puede extraerse en una fecha posterior.


Use -> para acceder a campos, métodos en un objeto, es paralelo a [] en variables de matriz ( $array[''field''] es $object->field ). En WP lo usarás en $post por ejemplo, ya que es un objeto.


$object->property se utiliza para acceder a la propiedad de cualquier objeto.


-> accede a un miembro de un objeto. Entonces $wp_query->max_num_pages está accediendo al campo max_num_pages en el objeto $wp_query . Se puede usar para acceder a un método o a un campo perteneciente a un objeto, y si está familiarizado con C ++ o Java, es equivalente a myObject.myField


-> se usa básicamente para acceder a un archivo de un objeto. Analogioous a los atributos en Java.

por ej.

class Student { String name; int rollno; }

Student.name accede al nombre de un objeto estudiantil dado.


Así es como PHP maneja los objetos. Básicamente, $wp_query es un objeto que tiene métodos (funciones) y atributos a los que se puede acceder mediante los caracteres -> .

PHP no comenzó con objetos, por lo que ahora lo ves como una idea de último momento. Encuentro que -> es una manera desordenada de manejarlo, en comparación con decir Ruby, que se construyó con objetos de la base.

Puede encontrar más en: php.net/manual/en/language.oop5.php


<?php class Main{ private $name = ''My Name is Febri.<br/>''; private function print_name(){ echo $this -> name; } } class Descend extends Main{ function print(){ $this -> print_name(); } } $try = new Descend; $try -> print(); echo $try -> name; ?>

En el ejemplo anterior, no podemos llamar a una función que es un método privado print_name. Además, tampoco podemos llamar a la variable de nombre que se establece como propiedad privada.