Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przekazanie zmiennej z klasy do funkcji
Malinaa
post
Post #1





Grupa: Zarejestrowani
Postów: 577
Pomógł: 6
Dołączył: 21.07.2008

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


Jak przekazać zmienną z klasy do funkcji?

W folderze classes mam klasę z takim kodem

Kod
class routClass {
...
   public function __construct() {
      ...
      define('NAME_CONTROLLER', $name_controller); // Jak inaczej przekazac zmienna do funkcji?
   }
}


W folderze functions mam funkcje
Kod
function writeData($value) {
    global $arrayData; // Czy funkcja z global $arrayData jest ok?
    $key = NAME_CONTROLLER;  // Jak inaczej przekazac zmienna do funkcji?
    $data = '';
    
    if (isset($arrayData[$key][$value])) {
        $data = $arrayData[$key][$value];
    }
    else {
        $data = 'Sorry value not found!';
    }
    
    echo $data;
}

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Stykasz się z zasięgiem zmiennych wewnątrz funkcji. W view($viewName, $data = []) masz zmienną $data i tutaj tylko możesz przekazać zmienne które będą widoczne w pliku. Natomiast NAME_CONTROLLER mówiłem Ci już że w każdej klasie masz dostęp do static::class (zrób sobie echo tego). W żaden sposób nie jest to pro tylko pro tandeta (IMG:style_emoticons/default/wink.gif) Własny FW można pisać jak ma się jakieś podstawy. Pisząc w ten sposób który nam prezentujesz nabierasz tylko mega złych nawyków. Nic tu nie jest poprawnie. Zacznij może od napisania chociaż klasy View w której mógłbyś normalnie inicjować zmienne. Composera powinieneś używać bo jest standardem. Nie wymyślaj swoich rozwiązań - naucz się korzystać z gotowych.

Ten post edytował viking 19.12.2020, 13:12:26
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 20:42