Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [FUNKCJE] Definiowanie parametrów funkcji
Forum PHP.pl > Forum > Przedszkole
Drapeta
Hey! Mam zdefiniowaną taką funkcję:

  1. function showButton($name, $text) {
  2. return '<span class="'.$name.'"><span>'.$text.'</span></span>';
  3. }


I jej wywołanie:

  1. $this->message_reply = CKunenaLink::GetTopicPostReplyLink ( 'reply', $this->catid, $this->id, CKunenaTools::showButton ( 'reply', JText::_('COM_KUNENA_BUTTON_REPLY') ), 'nofollow', 'kicon-button kbuttoncomm btn-left', JText::_('COM_KUNENA_BUTTON_REPLY_LONG') );


Chodzi o to, że to mi wyświetla małą ikonkę i button z tekstem do odpowiedzi na post w forum. Tylko, że teksty chcę wszędzie zastąpić grafiką.

Przy definiowaniu funkcji są zmienne:

- $name

- $text

Czy te zmienne są zdefiniowane jeszcze w innym miejscu? Jak one się odnoszę do wywołania tej funkcji? Bo ja 'ich nie widzę' w tym wywołaniu. Będę bardzo wdzięczny za pomoc

ixpack
Tzn. nie funkcję, a metodę... Bo "wywołujesz" obiekt...

Pokaż kod klasy CKunenaLink i CKunenaTools
nekomata
Wyjaśnie Ci to chyba przykładem
  1. <?php
  2. $imie = 'Bolesław';
  3. $nazwisko = 'Chrobry';
  4. function nazwa($imie,$nazwisko){
  5. return 'Imie to :'.$imie.' a nazwisko to '.$nazwisko;
  6. }
  7. echo nazwa($imie,$nazwisko);
  8. // Wyswietli Imie to : Bolesław a nazwisko to Chrobry
  9. echo nazwa($nazwisko,$imie);
  10. //Wyświetli Imie to : Chrobry a nazwisko to Bolesław
  11. echo nazwa('Mieszko','Pierwszy');
  12. //Wyswietli Imie to : Mieszko a nazwisko to Pierwszy
  13. // Pierwszy w sumie to tytuł nie nazwisko , to samo tyczy się chrobrego , ale co tam.
  14. ?>
Zmienne które definiujesz przy nazwie funkcji nie mają wartości i równie dobrze mogą być ustawione przed definicją funkcji ponieważ definiowane są w momencie którym funkcja jest wywoływana , a nazwy wewnątrz są tylko do twoich operacji i nie mają wpływu na zmienna o takich samych nazwach . Myślę że o to Ci chodziło , jeśli się mylę ... sorki tongue.gif
Drapeta
>DZIĘKI ixpack smile.gif
  1. class CKunenaTools {
  2. var $id = null;
  3.  
  4. function checkDatabaseError() {
  5. kimport('error');
  6. return KunenaError::checkDatabaseError();
  7. }
  8.  
  9. function showButton($name, $text) {
  10. return '<span class="'.$name.'"><span>'.$text.'</span></span>';
  11. }
  12. ...

  1. class CKunenaLink {
  2. //
  3. // Basic universal href link
  4. //
  5. function GetHrefLink($link, $name, $title = '', $rel = 'nofollow', $class = '', $anker = '', $attr = '') {
  6. return '<a ' . ($class ? 'class="' . $class . '" ' : '') . 'href="' . $link . ($anker ? ('#' . $anker) : '') . '" title="' . $title . '"' . ($rel ? ' rel="' . $rel . '"' : '') . ($attr ? ' ' . $attr : '') . '>' . $name . '</a>';
  7. }
  8.  
  9. ...
  10.  
  11. function GetTopicPostLink($do, $catid, $id, $name, $rel = 'nofollow', $class = '', $title = '', $attr = '') {
  12. return CKunenaLink::GetSefHrefLink ( KUNENA_LIVEURLREL . '&func=post&do=' . $do . '&catid=' . $catid . '&id=' . $id . '&'.JUtility::getToken().'=1', $name, $title, $rel, $class, '', $attr );
  13. }
  14. ...


Skoro to jest metoda, bo wywołuje obiekty, to jak podmienić obiekty, by to były obiekty graficzne? I czy parametry tej metody ($name & $ text) są zdefiniowane jeszcze gdzie indziej? Bo nie wiem, a bardzo chciałbym wiedzieć smile.gif DZIĘKI!



>nekomata DZIĘKI Tobie też smile.gif

Czyli powinienem szukać zdefiniowania zmiennych w tym samym pliku .php w którym jest wywołana funkcja, czy metoda? Tam znalazłem tylko coś takiego:

  1. $this->username = $this->config->username ? $this->profile->username : $this->profile->name;
  2. if ((!$this->username || !$message->userid || $this->config->changename) && $message->name) {
  3. $this->username = $message->name;
  4. }


To takie 'podejrzane' z name, ale nie ma przy tym '$', więc nie wiem czy dobre? A text w ogóle mi nie znalazło... Chyba błądzę :\
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.