wordpress <?= - ¿Qué significa "->" significa / se refiere en PHP?




?> que (11)

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 ) : ?>   

Answers

-> 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.


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


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


<?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.


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.


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 .


-> 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


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.


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 foreach loop se puede usar con Indexed arrays, Associative arraysy Object public variables.

En el bucle foreach, lo primero que hace php es que crea una copia de la matriz que se va a iterar. PHP luego itera sobre este nuevo copyde la matriz en lugar de la original. Esto se demuestra en el siguiente ejemplo:

<?php
$numbers = [1,2,3,4,5,6,7,8,9]; # initial values for our array
echo '<pre>', print_r($numbers, true), '</pre>', '<hr />';
foreach($numbers as $index => $number){
    $numbers[$index] = $number + 1; # this is making changes to the origial array
    echo 'Inside of the array = ', $index, ': ', $number, '<br />'; # showing data from the copied array
}
echo '<hr />', '<pre>', print_r($numbers, true), '</pre>'; # shows the original values (also includes the newly added values).

Además de esto, php permite usar iterated values as a reference to the original array valuetambién. Esto se demuestra a continuación:

<?php
$numbers = [1,2,3,4,5,6,7,8,9];
echo '<pre>', print_r($numbers, true), '</pre>';
foreach($numbers as $index => &$number){
    ++$number; # we are incrementing the original value
    echo 'Inside of the array = ', $index, ': ', $number, '<br />'; # this is showing the original value
}
echo '<hr />';
echo '<pre>', print_r($numbers, true), '</pre>'; # we are again showing the original value

Nota: No permite original array indexesser utilizado como references.

Fuente: http://dwellupper.io/post/47/understanding-php-foreach-loop-with-examples







php wordpress oop class syntax