![]() |
Не могу разобраться со скриптом, помогите пожалуйста если не трудн
в общем дали мне скрипт, я когда загружаю выводит ошибку там та в той то строке, я уже наизусть ее выучил но немогу понять что там нитак, посоветуйте(ошибка Fatal error: Cannot re-assign $this in T:homelocalhost3classesShop.php on line 77)
Код:
function Shop($DBManager = 0, $objectId = null) { |
И что тут лайн 77?
|
вот я выделил его жирным но там плохо видно=( ($this = $newShop; )
if ($this->getVariable('type') == 'repair' and get_class($this)!='repairshop') { $newShop = new RepairShop(); if ($newShop->get($objectId)) { $this = $newShop; return true; } return false; } |
Ну я так понял это у тебя выбивает такое на PHP5. А связано это с тем, что если в PHP4 ты переменную $this мог использовать как угодно, то в PHP5 она отнесена к разряду зарезервированных, следовательно переопределить её невозможно. По идее, если такая ошибка возникла - это некорректный алгоритм, ибо сделано "в лоб". То есть отныне ты этой переменной ничего не сможешь присвоить... Лучше заведи в классе метод вроде такого:
Цитата:
|
я тоже подумал что в этом и есть проблема я заместо
$this = $newshop; написал if (class_exists($newShop)) { return new $newShop; вроде как помогло но стала выкидывать ошибку такого рода Parse error: parse error, unexpected ';', expecting T_FUNCTION in T:\home\localhost\3\classes\Shop.php on line 2434 как я понял это где-то не закрыта строка? и надо в 2500 строках искать куда поставить ; ?=( |
Ну насчёт корректности исправления я тебе толком сказать ничего не смогу... Ибо всё зависит от реализации алгоритма, а те куски что я видел мало что об это говорят.
Что касается ошибки - возможно не закрыта строка, возможно нарушение баланса скобок {}. Что на той строке? |
я посмотрел у меня помойму не закрыта функция class но я не знаю точно, можно ли тебе как нибуть файл скрипта дать или прикрипить куда нибуть чтобы ты посмотрел?
|
на той строке конец пхп
?> вот)) |
Цитата:
Цитата:
|
ну попробую все скобки пересмотреть))
|
| Время: 16:17 |