La paraula clau “static”

La paraula clau “static” ens deixa utilitzar una propietat o un mètode de classe sense haver de crear una instància d’aquella classe.

Per tant, aquesta funciona així:

<?php
class Restaurant {
public static function menjar() {
echo "Restaurant mexicà";
}
}

echo Restaurant::menjar();
        
      ?>

Quan es convina amb l’operador de resolució ens deixa accedir a la informació de la classe sense haver d’exemplificar res.

Tot i això, cal tenir en compte alguns consells a l’hora d’utilitzar aquesta paraula clau:

  • Per motius de compatibilitat amb PHP 4, si no s’utilitza cap declaració de visibilitat, es tractarà a les propietats o mètodes com si haguessin estat definits com public.
  • A causa que els mètodes estàtics es poden invocar sense tenir creada una instància de l’objecte, la pseudo-variable $this no està disponible dins dels mètodes declarats com a estàtics.
  • Les propietats estàtiques no poden ser accedides a través de l’objecte utilitzant l’operador fletxa (->).
  • Invocar mètodes no estàtics estàticament genera un advertiment de nivell E_STRICT.
  • Com qualsevol altra variable estàtica de PHP, les propietats estàtiques només poden ser inicialitzades utilitzant un string literal o una constant; les expressions no estan permeses. Per tant, es pot inicialitzar una propietat estàtica amb enters o arrays (per exemple), però no es pot fer amb una altra variable, amb el valor de devolució d’una funció, o amb un objecte.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.