Вы можете взять объект и реализовать setter / getter для требуемого свойства.
var object = {
fc: undefined,
get fullscreen () { return this.fc === undefined ? false : this.fc; },
set fullscreen (v) { this.fc = v; }
}
console.log(object.fullscreen);
object.fullscreen = 1080;
console.log(object.fullscreen);
С экземпляром и переменной provat, а также с геттером и сеттером для него.
class Settings {
constructor() {
var fc;
Object.defineProperty(this, 'fullscreen', {
get () { return fc === undefined ? false : fc; },
set (v) { fc = v; }
});
}
}
var instance = new Settings;
console.log(instance.fullscreen);
instance.fullscreen = 1080;
console.log(instance.fullscreen);
Если я понимаю это право, буферизованные запросы включают сообщение PHP, что Вы хотите ожидать всего набора результатов, прежде чем Вы начнете обрабатывать. До PDO это было значением по умолчанию, и необходимо было звонить mysql_unbuffered_query
если Вы хотели иметь дело с результатами сразу.
Почему это не объяснено на странице драйвера MySQL PDO, я не знаю.
Вы могли попытаться разделить его на блоки, которые не являются достаточно большими для порождения проблем:
<?php
$id = 0;
$rQuery = $Database->query('SELECT id FROM mytable ORDER BY id ASC LIMIT 100');
do {
stuff($rQuery);
$id += 100;
} while ( $rQuery = $Database->query(
'SELECT id FROM mytable ORDER BY id ASC LIMIT 100 OFFSET '.$id
)
);
?>
... Вы получаете идею, так или иначе.