Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak utworzyć obiekt ze zmiennej typu string., Jak utworzyć obiekt o nazwie przekazanej w zmiennej typu string.
sgrzegrzo
post 13.10.2010, 16:58:53
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.10.2010

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


Witajcie.
Mam pewien problem z utworzeniem obiektu w PHP. Możliwe jest w PHP 5.3 wykonanie takiej instrukcji:

  1. $zmienna = 'ClassName'; //to jest string
  2. $zmienna::proceduraklasy();


co oznacza tyle co:

  1. ClassName::proceduraklasy();


Mój problem jest następujący. Jak utworzyć obiekt o nazwie przekazanej w zmiennej, na podobnej zasadzie jak pow.
Mam na myśli coś takiego.

  1. $zmienna = 'ClassName'; //to jest string
  2. $zmienna = new $zmienna;


Efektem ma być utworzenie obiektu klasy ClassName o nazwie ClassName - o tak:

  1. ClassName = new ClassName;


Walczę z tym już jakiś czas i nie mogę sobie poradzić - pomocy.

Ten post edytował sgrzegrzo 13.10.2010, 17:03:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Crozin
post 13.10.2010, 17:09:23
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Najkrótsza forma:
  1. $className = 'AbcMyClass';
  2. $$className = new $className();
  3.  
  4. // $AbcMyClass->doSth();
Bardziej sensowna forma:
  1. $className = 'AbcMyClass';
  2.  
  3. $reflection = new ReflectionClass($className);
  4. $abc = $reflection->newInstance();
Go to the top of the page
+Quote Post
sgrzegrzo
post 13.10.2010, 18:45:44
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 13.10.2010

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


Super.
W moim przypadku zadziałało lepiej w opcji pierwszej .
Poza tym pokazałeś mi drogę, której nie widziałem wcześniej, dalej przejdę z manualem PHP smile.gif

  1. podziekowania($wielkie);


Wielkie dzięki.

Ten post edytował sgrzegrzo 13.10.2010, 18:51:16
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: 14.08.2025 - 06:30