include массива в методе класса

tarya

Новичок
Добрый день друзья.

Постараюсь попроще описать проблему с которой столкнулся.

Есть класс, например:

class myclass {

var $somevar1;

function loaddata($script) {
include("{$script}.php");
return true;
}
}

Вопрос в чем. В небольших файлах модулей у меня хранится массив некоторых настроек. Его можно было бы цеплять простым include и не мучаться, но нужно именно вызывать метод который эти данные подгружает.

Вопрос состоит в том что когда я сделаю вызов метода $this->loaddata("somedatafile"); то внутри метода можно будет обратиться к данным массива которые находятся в файле somedatafile.php который и инклудится, но вне этого метода эти данные недоступны, а нужно к ним иметь доступ. Помогите решить если кто может.

В итоге я хочу делать примерно так:

$my_class = new myclass();
$my_class->loaddata("somedatafile");

var_export($array_data_from_loading_file);

Но уже так не работает. Подскажите как быть.

Спасибо.
 

gta4kvs

Новичок
Не будем обращать внимания на то, что вообще вся концепция кода ужасна, я вижу два простейших решения.

Это, в функции loaddata при помощи return вернуть нужные данные, или делать $this->data[] = /*любые данные из вашего файла*/.
 

Вурдалак

Продвинутый новичок
Сделай метод getData(), а loaddata() вызывать извне не нужно (нас не интересует внутренняя кухня этого объекта).
 

tarya

Новичок
Почему ужасна и в чем? Я же привел надуманный пример.
 

tarya

Новичок
Да я чтоб не писать руцями с копипастил с хелпа php.net :) и поудалял лишнее. Так я уже давно не пишу. Сорри что запутал.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Так я уже давно не пишу
Ы, с нас то ты, милок, чего хочешь?

Мы еще давнее не пишем.
Тем-более в полнолуние в ночь с пятницы на суботу.
Не по феншую это.
с пятници на суботу нуно кутить бухать и развлекаццо.
 

tarya

Новичок
Mr_Max

Виноват, исправлюсь. Спасибо за все. Вопрос закрыт.
 

tarya

Новичок
Mr_Max

Мне приходится работать ночами даже с пятницы на субботу, так как у меня недавно родились двое деток, и днем времени нет ни на что. Вот уложили только поросят - сразу за работу. Я если честно не знал что сегодня пятница :) потерял счет дням чтото совсем.
 

fixxxer

К.О.
Партнер клуба
Чо то ты на пустом месте проблему создаешь.

vars.php:
PHP:
<?php
return array( 'a' => 'value of a', /* ... */ )
?>
class.php:
PHP:
class MyClass {
    protected $vars;

    public function load() {
        $this->vars = include 'vars.php';
    }
}
 

tarya

Новичок
fixxxer

Спасибо. Сорри что не подумал ранее и написал спонтанно. Я вчера примерно так же и решил. Благодарю за помощь. Если можно закройте этот топик.

Всем спасибо.
 
Сверху