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
Malinaa
post
Post #2





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

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


Tak, wszystkie dziedziczą po frameworkClass i tu chciałem napisać te metody, ale tutaj nie są widoczne w templatach dla view() nie wiem jak sprawić, aby były widoczne?

Kłopot, że używałem w skryptach zwykle tylko funkcji, czasem klas (nie znam tematu tak dobrze), a poczułem moc napisania autorskiego frameworka opartego na wzorcu MVC.
Chcę napisać ten framework na czystym PHP bez użycia Composera etc., standard PSR to tyle o ile poznałem przy okazji pisania w Symfony.
I tutaj moja prośba o pomoc.

frameworkClass napisałem tak:

Kod
class frameworkClass {
    
    // View Page Template
    public function view($viewName, $data = []) {
        if (file_exists("../application/views/" . $viewName . ".php")) {
            require_once("../application/views/$viewName.php");
        }
        else {
            echo "ERROR: Sorry application view $viewName.php file not found!";
        }
    }
}


kiedy wstawie do klasy funkcje (ładowaną w kontrolerze) to $result = lipa ;!

(public) function writeData($value) {
global $arrayDataPages;
$key = NAME_CONTROLLER;

return $result;
}


$arrayDataPages ładuje w pliku index.php katalogu public/ poprzez require(data.php);
NAME_CONTROLLER znajduje się w class routClass {} (klasa ładuje kontroler zależnie od adresu)

Obecnie tyle, że działa, ale jak całość poprawić, aby było w porządku Pro?

Ten post edytował Malinaa 18.12.2020, 21:16:49
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: 14.10.2025 - 16:52