Роботоспособность старых скриптов Переход на PHP4 в PHP5

lamek

Guest
Роботоспособность старых скриптов Переход на PHP4 в PHP5

Зраствуйте Алл.
Появляется следующая обибка. Это баг PHP5 или же несовместимость.

Fatal error: Using $this when not in object context in
C:\Apache\Apache2\htdocs\xxx\admin_start_events.php on line 14

Reproduce code:
---------------
function admin_start()
{
$admin_start_BeforeShow = true;
global $admin_start;

if( ($this->Visible = (CheckS("3") == "success")) )
{
$admin_start->Visible = true;

} else {
$admin_start->Visible = false;
}
return $admin_start;
}
//line14 if( ($this->Visible = (CheckS("3") == "success")) )
 

Screjet

Новичок
1) Какая версия ПХП5? Если старее релиза = заменить.
2) В контексте ф-ции запрещено использовать $this в ПХП4 тоже.
3) В контексте статического метода использовать $this разрешено в обоих версиях.
 

Screjet

Новичок
Ничего удивительного, ПХП меняется с каждым днем :)

Если кому-то чтото не нравится = дорабатывает исходники, вместо того, чтобы работать по правилам.
 

lamek

Guest
PHP 5 последний (01);
а теперь выполни этот код под PHP4 и удивись.
Я бы с радостью %), но локально остался только 5. На сервере 4 и там все работает. (имеется ввиду не кусочек кода а весь файл.
При изменении $this-> на $admin_start-> все работает.
Всем спасибо.
Но проблема именно в версии ПХП!
 

tony2001

TeaM PHPClub
lamek
проблема в том, что твой код изначально содержит баг.
 
Сверху