Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> liczba != 'liczba', oraz jak wywolac metode w pewien sposob, paciemu?
mrWodoo
post 2.05.2013, 12:20:11
Post #1





Grupa: Zarejestrowani
Postów: 160
Pomógł: 6
Dołączył: 13.01.2012
Skąd: Bytom

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


witam mam problem, mam taką oto tablicę
array( '1234', 'test' );

i chce ta tablice zamienic na liste argumentow do metody, czyli wynik pętli powinien być
1234, 'test',
ale niestety nie jest, chcę zadbać o typ danych
  1. foreach( $this->_params AS $param ) {
  2. if( intval( $param ) != $param ) {
  3. $params .= '\'' . $param . '\', ';
  4. } else {
  5. $params .= $param . ', ';
  6. }
  7. }
  8.  


nie dziala bo wszystko daje w apostrof. problem tkwi w tym, żę dla php '1234' nie jest tym samym co 1234 [sprawdza typ, ale dlaczego!!!!? przecież nie użyłem operatora identyczności [!==]

drugie pytanie

jak wywolac metode
public function metoda( $param1, $param2, $param3 ) tak, ze przekazuje jeden parametr a on sie 'rozbija' czyli
  1. $zmienna = "'parametr1', 'parametr2', 'parametr3'";
  2.  
  3. $object->$metoda( $zmienna ); // $object->$metoda( 'parametr1', 'parametr2', 'parametr3' );




Ten post edytował mrWodoo 2.05.2013, 12:25:36


--------------------
Go to the top of the page
+Quote Post
nospor
post 2.05.2013, 12:24:41
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zobacz dokładnie co zawiera $param
var_dump($param);
moze ukrył się tam jakiś bialy znak


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrWodoo
post 2.05.2013, 12:26:21
Post #3





Grupa: Zarejestrowani
Postów: 160
Pomógł: 6
Dołączył: 13.01.2012
Skąd: Bytom

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


dobra nie będę sobie komplikował bardziej życia, dodałem drugie pytanie do 1szego postu

//dodam, że nie chciałbym korzystać z funkcji eval, chyba, że ktoś mi powie jak to dobrze zabezpieczyć, bo parametry są podawane przez użytkownika i następnie do tablicy, z tej tablicy do 'listy parametrów ($zmienna)'

Ten post edytował mrWodoo 2.05.2013, 12:27:22


--------------------
Go to the top of the page
+Quote Post
Crozin
post 2.05.2013, 12:28:32
Post #4





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

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


Powinieneś tutaj skorzystać z ReflectionMethod::invokeArgs.

Ten post edytował Crozin 2.05.2013, 12:28:41
Go to the top of the page
+Quote Post
mduke
post 5.05.2013, 09:42:12
Post #5





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.12.2008

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


mrWodoo odnosnie drugiego pytania najlepszym sposobem wydaje mi sie trzymac parametry w tablicy np. $params = array($param1, $param2, $param3), a pozniej odpalic to w funkcji call_user_method_array.

Tak przy okazji, jest to bardzo fajna konstrukcja do wykorzystania w kontrolerze calego projektu. Z requesta czytamy nazwe metedy i parametry, z parametrow montujemy tablice i ciach do call_user_method_array.
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: 18.07.2025 - 02:23