Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как выполняется php ? отлаживаю чужой проект и столкнулся 
:(
    Опции темы
angelsh
Дата 29.9.2009, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.9.2009

Репутация: нет
Всего: нет



Стокнулся с такой ситуацией: отлаживаю чужой код в (IndexCRM) NetBeans IDE 6.7.1 с

PHP Version 5.2.4 MySQL 5.0.45  Zend Engine v2.2.0 Xdebug v2.0.5

и в главной при первой загрузке при пошаговой отладке дохожу до строки с вызовом функции 

$page=DocumentParse($id,$templates,$params); в которой ничего кроме реплейсов нет, и меня после этой строки бросает на начало страницы, потом, опять же пошагово, прохожу уже весь код и в конце выдает уже результат в браузер. Так же видел такую штуку: когда в массиве $_REQUEST[] есть данные для записи в базу (когда работаю с одной из страниц сайта), то после прохода данной строки кода данные записываются в базу (хотя кода в ней для работы с базой или вызова функций, которые могли бы записать в ней нет - отлажывал со степ инто).
Вопрос: почему кон в первый проход исполняется нелинейно ? Можно ли отловить момент записи в базу ?
PM MAIL   Вверх
icewind
Дата 29.9.2009, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 20



Цитата(angelsh @  29.9.2009,  10:03 Найти цитируемый пост)
то после прохода данной строки кода данные записываются в базу (хотя кода в ней для работы с базой или вызова функций, которые могли бы записать в ней нет - отлажывал со степ инто).

Уличная магия  smile 


Цитата(angelsh @  29.9.2009,  10:03 Найти цитируемый пост)
почему кон в первый проход исполняется нелинейно ?

Нужно посмотреть код 


Цитата(angelsh @  29.9.2009,  10:03 Найти цитируемый пост)
Можно ли отловить момент записи в базу ? 

Естественно... Само по себе в базу ничего не пишется.


--------------------
user posted image
PM MAIL Skype   Вверх
angelsh
Дата 29.9.2009, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.9.2009

Репутация: нет
Всего: нет



привести код ? загвоздка в 155 строке...
PM MAIL   Вверх
Ипатьев
Дата 29.9.2009, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 0
Всего: 37



А если отлаживать не с помощью этих красивых слов, а дедовскими методами, die(var_dump())?
PM MAIL   Вверх
angelsh
Дата 29.9.2009, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.9.2009

Репутация: нет
Всего: нет



die(var_dump()) а зачем ? если есть отладчик. по сути есть какие-то идеи ? 

PM MAIL   Вверх
Ипатьев
Дата 29.9.2009, 11:32 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 0
Всего: 37



Ну разумеется, вывалить сюда тыщу строк кода и рассматривать его на экране - это идея гораздо лучше.
Есть мнение, что главное - те отладчик, а оператор отладчика. 
В этом смысле кто-то обойдется var_dump, а кто-то, и обвешавшись нетбинсами с иксдебагами будет только беспомощно рассказывать про то, как его кидает на начало страницы.
PM MAIL   Вверх
icewind
Дата 29.9.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 11.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 20



Да, совет по сути. Отложи отладчик и сядь подумай.

Код на пхп не может исполнятся таким образом как ты описал. А если тебе кажется что так и происходит, то очевидно выполнение функции прервалось при не соблюдении какого либо условия и парсер пошел дальше. Затем другой кусок кода вызвал эту же функцию и тогда она начала обрабатываться сначала.
Что там исполняется и как оно на твой взгляд должно исполняться знаешь только ты и в таком случае дать конкретный совет очень сложно

По второму вопросу... ОБЯЗАТЕЛЬНО должен быть код, который выполняет занесение данных в базу. Отсутствие такого кода и магическое появление данных в базе исключено


--------------------
user posted image
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.