Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] tworzenie nowej klasy z obiektu innej
-asdad-
post
Post #1





Goście







Tworząc nowy obiekt w klasie na podstawie tablicy z pliku:


  1. $cfg = new Config('config.php');
  2.  
  3. $load_controller = new $cfg->default_controller;
  4. $load_method = $cfg->default_method;
  5. $load_controller-> $load_method();


Dlaczego muszę robić to w ten sposób, a nie mogę od razu utworzyć metody z danych $cfg:

  1. $load_controller-> $cfg->default_method();
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
Dipter
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 14
Dołączył: 28.11.2010
Skąd: Kraków

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


Poczytaj o call_user_func oraz call_user_func_array, ew. możesz wykorzystać ReflectionClass.
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


ależ możesz (IMG:style_emoticons/default/smile.gif) kto powiedział, że nie możesz (IMG:style_emoticons/default/smile.gif)

  1. $cfg = new Config('config.php');
  2.  
  3. $load_controller = new $cfg->default_controller;
  4. $load_controller->{$cfg->default_method}()


(IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
-Gość-
post
Post #4





Goście







Sephirus dzięki, a czy to jest kompatybilne z php 5.2?
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A stałoby się coś, gdybyś samodzielnie sprawdził?
Go to the top of the page
+Quote Post
-Gość-
post
Post #6





Goście







Mam teraz dostęp tylko do php5.3, a zależy mi też na obsłudzę 5.2
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A do manuala zaglądałeś?
Go to the top of the page
+Quote Post
-Gość-
post
Post #8





Goście







nie wiem pod jakim hasłem szukać.
Go to the top of the page
+Quote Post
by_ikar
post
Post #9





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat(Gość @ 23.12.2011, 14:12:34 ) *
nie wiem pod jakim hasłem szukać.


Hm, na chłopski rozum, szukasz zmiennych, no nie? No to wpisujesz variables, przeglądasz 10sekund manual, i oczom ukazuje się co? http://www.php.net/manual/en/language.variables.variable.php

EDIT: komentarze też przeczytaj..

Ten post edytował by_ikar 23.12.2011, 14:19:37
Go to the top of the page
+Quote Post
-Gość-
post
Post #10





Goście







tylko że tam nie ma żadnej informacji odnośnie kompatybilności tego rozwiązania.
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Skoro nie ma informacji o dostępności, to chyba prowadzi to do jakichś wniosków?

Poza tym, co za problem ściągnąć zipa z binarkami do PHP (ew. skompilować w katalogu/skopiować binarkę) i przetestować z konsoli?
Go to the top of the page
+Quote Post
by_ikar
post
Post #12





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Pierwsze zapisy w komentarzach na temat klamer do "oddzielenia" jakichś danych (mogą być to zmienne, stringi, obiekty, metody, właściwości, stałe, tablice itp) pojawia się 2004 roku: http://www.php.net/manual/en/language.variables.php#42653 patrząc w archiwum php.net w 2004 roku wychodził php w wersji 4.3: http://www.php.net/archive/2004.php zaglądamy wówczas do changelog, wciskamy magiczny skrót na klawiaturze ctrl + f; w pole wyszukiwania wrzucamy klamrę, i szukamy. Nie wiem szczerze mówiąc jaki jest problem w tym aby sprawdzić działanie na starszym php? Na windowsie instalujesz sobie wampserver, doinstalować wersję php/apache/mysql jaką chcesz i przełączać się między nimi jednym kliknięciem. Już dawno byś sprawdził czy działa. Jako takiej dokumentacji na ten temat nie znalazłem, ale napisać jakiś skrypt, sprawdzić czy zadziała, to kwestia 10minut.. Trochę więcej samodzielności. Przecież własnie na tym cała zabawa polega, na dochodzeniu do pewnych wniosków, nie czytając żadnych manuali (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
-Gość-
post
Post #13





Goście







Pomijam już fakt że trzymanie danych w klamrach {} kojarzy mi się z tablicą (IMG:style_emoticons/default/biggrin.gif) Dobrze wiedzieć że jest to tak stare i że będzie dizałać w php 5.2.x
Go to the top of the page
+Quote Post
by_ikar
post
Post #14





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Z tablicą? Do tablic to się raczej używa kwadrtowych nawiasów, a klamr to raczej przy blokach kodu (pętli, instrukcji warunkowych, funkcji, metod, obiektów, interfejsów, przestrzeni nazw, triatsów etc). Mnie to bardziej z json-em się kojarzy (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 10.10.2025 - 09:00