Если index2.php
содержит это:
$var2 = 'var2';
Затем вы можете включить этот файл, чтобы получить доступ к $var2
. Затем можно передать эту переменную в свой something
конструктору в качестве аргумента:
//index.php
class something {
public $var2;
public function __construct($arg) {
$this->var2 = $arg;
}
}
include 'index2.php';
$run_it = new something($var2);
echo $run_it->var2; // echos 'var2'
Очевидно, существуют и другие способы, чтобы сделать что-то вроде того, что вы пытаетесь сделать (там, как правило, больше, чем один способ сделать большинство вещей), но действительно самый разумный способ получить внешние данные в ваш объект - передать его через аргументы конструктора.
Если вы этого не сделаете, класс будет навсегда зависеть от другого файла, существующего в правильном местоположении относительно класса или вызывающего файла, со всеми установленными в нем правильными переменными. Если этот файл изменен или перемещен, объекты этого класса могут не работать должным образом, даже если они вообще могут быть созданы.
Не сделали PHP в течение длительного времени, но не будет ли '$ var2' просто просто существовать в рамках' __construct() ', а затем быть недоступным после этого? –
Не были ли какие-либо ответы полезными для вас? Если нет, по крайней мере, у вас есть завиток, и если это решит проблему, отметьте ее. Если ни один, по крайней мере, не комментирует это? – Xorifelse