Я не совсем уверен, что понимаю ваш вопрос. Есть три вещи, которые, я думаю, могут относиться к тому, как вы подходите к этой проблеме:
A) Вы пытаетесь построить объект, а затем использовать данные, содержащиеся в этом объекте, по всему сценарию.
Б) Вы используете тягу базы данных в стиле PDO.
C) Вы используете PHPs SPL для создания итерации объекта, который содержит методы для извлечения информации из базы данных.
Я пока предположу, что вы используете вариант А. Пожалуйста, прости меня, если я ошибаюсь, и я не пытаюсь недооценивать ваши знания вообще ... просто начинаю здесь.
Подход ООП заключается в том, чтобы не извлекать все данные, чтобы они были доступны в вашем скрипте. Думайте об этом как о наборе функций вместо набора данных, хотя это может легко быть и то, и другое. Вы будете писать свои методы класса так же, как пишете функции без ООП. Единственное отличие состоит в том, что объект может использоваться для связи с вашим сценарием столько раз, сколько вам нужно ...
Если ответить прямо на ваш вопрос, я никогда не получаю больше данных, чем мне нужно. По соображениям безопасности и производительности. Вы должны использовать класс так же, как вы используете процедурный стиль. Вы можете выполнить все операции извлечения данных, которые потребуются сценарию при создании экземпляра класса (с помощью метода конструктора), но убедитесь, что вам нужны только данные.
---- Добавлен
class foo{
function getData($page){
//Query to get the results you want based on the page number entered...
//Process it as you normally would into a result set, array, or whatever.
return $results;
}
}
Тогда назовите это
$foo = new Foo();
$page = "The page or the column that you want to pull";
$data = $foo->getData($page);
Вы все еще делаете все процедурно, но теперь у вас есть динамическая функция, которая может извлекать данные на основе того, что вы отправляете в виде страницы ... В этом случае я не вижу никакой причины использовать конструктор ... только метод получения.
Это помогает?