Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [FUNKCJE] Definiowanie parametrów funkcji
Drapeta
post 6.06.2011, 16:38:06
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 22.10.2010

Ostrzeżenie: (10%)
X----


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

Go to the top of the page
+Quote Post
ixpack
post 6.06.2011, 17:02:48
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


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

Pokaż kod klasy CKunenaLink i CKunenaTools

Ten post edytował ixpack 6.06.2011, 17:03:36


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
nekomata
post 6.06.2011, 17:15:22
Post #3





Grupa: Zarejestrowani
Postów: 314
Pomógł: 44
Dołączył: 12.11.2010
Skąd: UK

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


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
Go to the top of the page
+Quote Post
Drapeta
post 6.06.2011, 17:27:09
Post #4





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 22.10.2010

Ostrzeżenie: (10%)
X----


>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ę :\
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: 14.08.2025 - 01:12