Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]funkcje i zmienne w klasach statycznych - różnica efektywności skryptów
czychacz
post 7.01.2012, 08:51:25
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 13
Dołączył: 20.09.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


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"?
Go to the top of the page
+Quote Post
mortus
post 7.01.2012, 11:41:48
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


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

Ten post edytował mortus 7.01.2012, 11:45:51
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 12:59