Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] tworzenie nowej klasy z obiektu innej
Forum PHP.pl > Forum > Przedszkole
asdad
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();
Dipter
Poczytaj o call_user_func oraz call_user_func_array, ew. możesz wykorzystać ReflectionClass.
Sephirus
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
Gość
Sephirus dzięki, a czy to jest kompatybilne z php 5.2?
erix
A stałoby się coś, gdybyś samodzielnie sprawdził?
Gość
Mam teraz dostęp tylko do php5.3, a zależy mi też na obsłudzę 5.2
erix
A do manuala zaglądałeś?
Gość
nie wiem pod jakim hasłem szukać.
by_ikar
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..
Gość
tylko że tam nie ma żadnej informacji odnośnie kompatybilności tego rozwiązania.
erix
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?
by_ikar
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ść
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
by_ikar
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
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.