Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]funkcje i zmienne w klasach statycznych - różnica efektywności skryptów
Forum PHP.pl > Forum > Przedszkole
czychacz
chciałbym pokombinować ze zmiennymi widzianymi globalnie (bez pomyłek deklaracji dwóch zmiennych o tej samej nazwie), więc wpadłem na pewien pomysł.
to jest klasa ze zmiennymi i funkcjami statycznymi:
  1. class klasa_statyczna{
  2.  
  3. static $zmienna = null; // to będzie tam
  4.  
  5. static public function _process_reqs(){
  6. echo 'Do nothing.';
  7. }
  8.  
  9. }

i przykład klasy korzystającej ze zmiennych statycznych powyższej klasy:
  1. class engine{
  2.  
  3. public function __construct() {
  4. require_once './klasa_statyczna.class.php';
  5. klasa_statyczna::_process_reqs();
  6. klasa_statyczna::$zmienna = 'LOLˆ'; // to tutaj z tamtego tam
  7. }
  8.  
  9. }


jeśli chodzi o działanie - nie mam obiekcji, bo chyba działa tak, jak chcę. ale czy ten sposób w ogóle jest poprawny od strony programistycznej?
chcę mieć dostęp do zmiennych <namespace>::<var_name> bez używania dyrektywy (czy jak to się nazywa) "global" w metodach obiektów tworzonych podczas działania skryptu.

co o tym sądzicie? może da się to zastąpić czymś prostszym?

czy ktoś jest w stanie udzielić odpowiedzi?
może powinienem wrzucić taki wątek nie na forum "przedszkole" a na forum "php"?
mortus
Jeżeli klasa engine potrzebuje "korzystać" z klasy statycznej lub jakiejkolwiek innej, to jest to jak najbardziej usprawiedliwione i nazywa się wstrzykiwaniem zależności (dependency injection).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.