![]() |
![]() |
![]()
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:
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 |
|
|
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 11:06 |