![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Litkevich Yuriy |
![]()
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Не могу разобраться с областью видимости переменной.
Есть такой код и он работает:
Есть код в который я добавил создание объекта своего собственного класса: Сообщение об ошибке:Цитата Fatal error: Class 'YaProperty' not found in Y:\home\opencart1504\www\adam\model\sale\ya_coupon.php on line 30 не пойму как показать интерпретатору где искать определение/объявление класса |
|
|
Vass |
![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 46 Регистрация: 17.3.2009 Из: Россия, Рыбинск Пользователь №: 617 Спасибо сказали: 8 раз(а) Репутация: ![]() ![]() ![]() |
Litkevich Yuriy, надо заинклюдить файл со своим классом в файле, где хочешь его использовать, функции:
include, include_once, require, require_once делают примерно одно и тоже, но есть нюансы. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Vass, Хм, а почему тогда в файле, где объявлен класс ControllerCatalogAttribute нет ни одной подобной функции?
А при этом Pagination видится |
|
|
Iron Bug |
![]()
Сообщение
#4
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
PHP не компилирует модули до того, как начнёт их использовать. видимо там, где используется модуль с классом-потомком, предварительно где-то объявлен класс-предок. а в твоей форме - не объявлен. вот и всё.
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Фух, оказалось всё не так просто, как я думал.
Т.к. openCart это, всё же некое прикладное ПО, то оно имеет свои внутренние правила, которые я ещё не понимаю. Но мне уже удалось добиться, чтобы мой класс заработал. П.С. Отпишусь подробнее позже, а то голова дымит, надо спать. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
в общем, по первому сообщению и первому куску кода. Я так и не понял как внутри ControllerCatalogAttribute виден Pagination, т.к. инклюдов никаких нет.
Но я нашёл файл system/startup.php в котором были строчки: require_once(DIR_SYSTEM . 'library/template.php'); и добавил туда свой require_once(DIR_SYSTEM . 'library/ya_property.php'); // Ya а в YaProperty добавил: к стати, не знал что можно так объявить член класса, прямо в конструкторе. Эту строчку посмотрел в модуле Cart, который отвечает за корзину.вот после этого всё заработало Но так я и не понял из-за чего ModelSaleYaCoupon стал видеть мой YaProperty |
|
|
Iron Bug |
![]()
Сообщение
#7
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
есть ещё переменная auto_prepend_file.
где-то в корне, в .htaccess, может стоять что-то типа:
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
где-то (я не вникал как это всё завязано) внутрях я наткнулся на код, который находу делает require_once на основе аргумента.
Псевдо код: а каталогом является один из подкаталогов магазина.
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 14.5.2025, 20:25 |