У меня есть класс, подобный этомусоздание нескольких экземпляров splFileObject
class x {
function __construct($file){
$this->readData = new splFileObject($file);
}
function a(){
//do something with $this->readData;
}
function b(){
//do something with $this->readData;
}
}
$o = new x('example.txt');
echo $o->a(); //this works
echo $o->b(); //this does not work.
кажется, если, когда-либо метод, называемый первым работает только, если они созвали только первый метод, который называется будет работать. Я думаю, что проблема связана с моим отсутствием понимания того, как объект new
будет построен.
Это не отдельные экземпляры, у вас есть только один экземпляр 'x', который вы вызываете' $ o' ... о том, почему второй метод не работает, нельзя сказать, не зная, что методы, и что «не работает» на самом деле означает –
@MarkBaker Я читаю txt-файл в обеих функциях и возвращаю данные. Таким образом, он не работает, он не возвращает данные, если я вызываю их одновременно. – user2679413
Это на самом деле не говорит мне о многом .... но я подозреваю, что второй метод не перематывает указатель файла на начало файла после того, как первый метод прочитал файл до конца. –