Status_stack_overflow при преобразовании моего кода в объектно -ориентированный phpPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Status_stack_overflow при преобразовании моего кода в объектно -ориентированный php

Сообщение Anonymous »

Я действительно озадачен этим. Я нахожусь в процессе преобразования очень большого веб -проекта из «линейного» кода PHP в «объектно -ориентированный» код PHP. До этого момента все прошло плавно. Вот ситуация. Из каждой записи и форматируют их в хорошем выходе, используя теги и т. Д. С кучкой эхоподобных поставщиков. Что -то вроде этого упрощенного примера: < /p>
$sql = "...querry syntax...";
$result = conn->query($sql);
while ($row = $result->fetch->object) {
echo "".$row->parameter."" // etc.
}
< /code>
Это было довольно сложное форматирование, но работало отлично и мог справиться с тысячами записей без каких -либо сбоев. Мой запрос на тестовый запуск - это вытягивание около 1500 записей. Я называю это так: < /p>
$record = new Record();
$record->load(); // loads the record from the database
$record->draw(); // outputs the final formatted data
< /code>
Опять же, это работает точно так же, как и ожидалось, нет проблем. Итак, вот где это становится интересным. Объект записи обрабатывает только одну запись. Таким образом, я создал объект RecordList, который, по сути, является массивом объектов записи, иногда в нескольких тысячах записей. У меня есть метод, который возвращает одну запись за раз из объекта записи, поэтому он используется таким: < /p>
$list = new RecordList();
$list->load(); // loads a bunch of records (also 1500 records)
while($record = $list->get_next_record()) {
$record->draw();
}
< /code>
Когда я пытаюсь запустить этот код, он выведет до 389 записей, но на 390 -м вызове браузер бросает ошибку полноэкранного состояния_STACK_OVERFLOW. Случается на Chrome и Edge.
Я пытался вывести память после каждого вызова, и я никогда не более 5 МБ использования, так что это не ошибка из памяти, и у меня нет рекурсивных вызовов в моих методах что я могу найти.
Кроме того, важно отметить, что это не что -то в самих данных ... Я тестирую его с живой базой данных, чтобы содержимое записей изменялось каждый раз, когда я запускаю свой код. /p>
Я пытался включить flush (); После каждого рисунка в моем объекте записи, но это не помогает. происходит с моей объектно -ориентированной версией. Шокирующе, это первый раз, когда я столкнулся с проблемой со стеком за 5 лет, работая над этим проектом, поэтому я не совсем уверен, как продолжить. < /P>
Любые мысли или идеи ? Я надеюсь, что я здесь просто кость, и это что -то очевидное для кого -то еще ... lol
Спасибо все!

Подробнее здесь: https://stackoverflow.com/questions/794 ... iented-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Status_stack_overflow при преобразовании моего кода в объектно -ориентированный php
    Anonymous » » в форуме Php
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Status_stack_overflow при преобразовании моего кода в объектно -ориентированный php
    Anonymous » » в форуме Php
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Status_stack_overflow при преобразовании моего кода в объектно -ориентированный PHP [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Alert(data.status) завершается с ошибкой, когда status=false, но не когда status=true
    Anonymous » » в форуме Jquery
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous
  • Почему я должен начать писать объектно-ориентированный код в PHP?
    Anonymous » » в форуме Php
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»