Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Wyświetlanie zawartości pliku poprzez klasę., Z include lub require
Tanner963
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 29.04.2010

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


Witam
Próbuję napisać metodę, która wyświetli/podepnie mi zawartość pliku jak include(itd.)
Fragment kodu:
  1. public function inc($path){
  2. include($path);
  3. }

Nie działa -> wyświetla białą stronę. Wyświetlanie błędów mam ustawione...
Próbowałem też z return, ale dalej to samo :|

Jak to rozwikłać? Z góry dzięki za pomoc (IMG:style_emoticons/default/wink.gif)
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Nie rozumiesz, da się dołączyć plik (require/include) za pomocą klasy/funkcji, tyle że zmienne które masz w tym pliku, ograniczą się jedynie do tej funkcji/metody w klasie. Taki jest zasięg zmiennych.

Odnośnie return, return'em możesz zwrócić coś z funkcji, co może być przekazane dalej, ale wciąż musisz tego użyć w nieco inny sposób. Jeżeli wiesz jakie zmienne są w tym pliku, powiedzmy w wszystkich plikach konfiguracyjnych masz zmienną $config, wówczas możesz sobie wykonać to tak:

Kod
<?php


class Foo
{
    protected $filePath = '/sciezka/do/pliku/';
    
    public function load($fileName)
    {
        $fileName = basename($fileName);
        
        if(is_readable($this->filePath.$fileName))
        {
            include $this->filePath.$fileName;
            
            if(isset($config))
            {
                return $config;
            }
        }
    }
}


$conf = new Foo();

$appConf = $conf->load('konfiguracja_applikacji.php');

var_dump($appConf);


Tyle że to prawdę mówiąc jest sztuka dla sztuki, równie dobrze mógłbyś tylko raz użyć tego nieszczęsnego include gdzie ci potrzeba. Stwórz sobie jedną klasę, niech nawet ma metody statyczne, raz załaduj konfigurację i wrzuć w jakąś właściwość (zmienną obiektu) całą konfigurację i konkretną metodą pobieraj już gotową konfigurację. Przynajmniej tak to robię u siebie i póki co jest dość wygodnie.
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: 4.10.2025 - 11:06