всем привет. какой то косяк у меня с передачей значения в функцию выглядит примерно вот так функция Код (Text): public function findId($value, $idFeature){ $idProduct = $this->sql($value, $idFeature) return $idProduct; } получение данных Код (Text): $value1 = 10; $value2 = 15; $idProductIdValue1 = $this->findId($value1, $this->idFeatureShirina); $idProductIdValue2 = $this->findId($value2, $this->idFeatureVysota); проверяю что там вернулось Код (Text): echo $idProductIdValue1 - возвращаются правильные данные. echo $idProductIdValue2 - пустой массив проверяю по шагам - оказывается при Код (Text): $idProductIdValue2 = $this->findId($value2, $this->idFeatureVysota); в функцию попадает не value2, а value1 это как так получается?
там все отлично. но раз просишь Код (Text): Array ( [0] => 195/55 R16 [1] => 195 [2] => 55 [3] => 16 ) фишка в том что если закомментировать Код (Text): $idProductIdValueShirinaShiny = $this->findIdProduct($valueShirinaShiny, $this->idShirinaProf);//получаем id сопоставленных продуктов для ширины профиля шины он же $value1 из первого примера - $value2 передается нормально в функцию
честно говоря я без понятия как дебаггером работать в prestashop - xdebug залаходит в глобальный конфиг и на этом тупик или я еще не совсем умею с ним работать
Там внимательно нужно читать статью. Можно поставить break point на нужные точки и он на них сделает паузу и покажет все переменные и их состояние. Tools -> Options -> PHP -> Debugging -> Stop at first line - снять галочку, чтобы он начинал с первого break point Там при дебаге указываешь индекс файл или тот который путь который запускает код и ещё выбираешь все файлы для отладки.
принцип то я понял. просто из файла ухожу в глубоко в движок, выхожу обратно по ctrl+F7 - в итоге наконец попадаю обратно в класс модуля - но уже переменная, которая должна содержать массив из базы данных, - пуста.
все было проще чем кажется. я для проверки использовал не print_r или var_dump, а встроенную функцию отладки - она выводит значение при первом же вызове и останавливает операцию exit, а при проверке второго вызова функции, массив действительно был пуст)