Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] tworzenie nowej klasy z obiektu innej
-asdad-
post 23.12.2011, 12:20:18
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
Dipter
post 23.12.2011, 12:31:30
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 23.12.2011, 12:59:43
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 smile.gif kto powiedział, że nie możesz smile.gif

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


wink.gif


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
-Gość-
post 23.12.2011, 13:08:09
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 23.12.2011, 13:08:49
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ł?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
-Gość-
post 23.12.2011, 13:10:20
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 23.12.2011, 13:59:43
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ś?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
-Gość-
post 23.12.2011, 14:12:34
Post #8





Goście







nie wiem pod jakim hasłem szukać.
Go to the top of the page
+Quote Post
by_ikar
post 23.12.2011, 14:18:20
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 24.12.2011, 11:36:39
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 24.12.2011, 12:48:35
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?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
by_ikar
post 24.12.2011, 13:19:20
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 wink.gif
Go to the top of the page
+Quote Post
-Gość-
post 24.12.2011, 13:42:32
Post #13





Goście







Pomijam już fakt że trzymanie danych w klamrach {} kojarzy mi się z tablicą 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 24.12.2011, 14:08:03
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 wink.gif
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: 15.07.2025 - 14:45