LINUX.ORG.RU

Переезд на новый php

 , ,


0

1

Коллеги,появилась проблема переездf на новый php для проекта nfsen http://nfsen.sourceforge.net/ . С backend он на перле проблем нет никаких, однако UI (на пыхпыхе он) , траблы на первый взгяд в том - что он юзает везде суперглобальные переменные старым синтаксисом .
Соответственно два вопроса:

  • Каким cовременным инструментом(флагом,аналог use strict,use strict) увидеть все deprecated фичи php ?
  • Автоматический инструмент для переписывания старых проектов на новый синтаксис ?
★★★★★

Автоматический инструмент для переписывания старых проектов на новый синтаксис ?

Найми индусов.

INFOMAN ★★★★★
()
Ответ на: комментарий от INFOMAN

Найми индусов.

Совсем не вариант, софт архиважный для любого провайдера и большой конторы( еще прикручю туда cisco netflow nbar - будет вообще l7 во все поля )

pinachet ★★★★★
() автор топика

юзает везде суперглобальные переменные старым синтаксисом

ССЗБ

kiotoze ★★★★
()

юзает везде суперглобальные переменные старым синтаксисом

Ты должен СТРАДАТЬ!

no-such-file ★★★★★
()
Ответ на: комментарий от l0stparadise

to generate reports on existing PHP 5 code

Смотря что понимается под «старым синтаксисом», если там какой-нибудь $HTTP_GET_VARS, который ещё в 4 был deprecated, то хрен оно тебе чо отрепортит.

INFOMAN ★★★★★
()
Последнее исправление: INFOMAN (всего исправлений: 1)

phpstorm же, прогнать по всей кодобазе, не знаю как там насчет автоматической замены (сомневаюсь) но покрайней мере везде косяки покажет

umren ★★★★★
()
Ответ на: комментарий от umren

но покрайней мере везде косяки покажет

Для этого не надо phpstorm, достаточно phpcs или phpmd. Вот только, вангую, что с таким кодом ТС подавится от количества найденных косяков.

no-such-file ★★★★★
()
Ответ на: комментарий от l0stparadise

Ну если в 2015ом где-то работает такое говно мамонта, то я уже не знаю, что его спасет :)

Там код последний раз комитили в 2014 году как до того , как начали эти суперглобалы выпиливать !

pinachet ★★★★★
() автор топика

Все deprecated-фичи php-скрипт вывалит тебе в лог, если он есть.

Если надо ехать, а не шашечки, причём прямвотщас, можно впилить грязный хак, который будет исполняться в начале каждого скрипта и разворачивать массивы в переменные:

php_value auto_prepend_file /home/user/register_globals.php
<?php
// Restore register_globals-like behavior
// -_-

foreach ($_REQUEST as $key=>$val) {
  ${$key}=$val;
}
foreach ($_SERVER as $key=>$val) {
  ${$key}=$val;
}
foreach ($_COOKIE as $key=>$val) {
  ${$key}=$val;
}
foreach ($_POST as $key=>$val) {
  ${$key}=$val;
}
foreach ($_GET as $key=>$val) {
  ${$key}=$val;
}
?>
Что может быть хуже? Например, @session_register(...); Эту функцию удалили, и такой скрипт будет падать вообще без ошибок, даже если они включены в php.ini. Отловить удалось только через xdebug и долгую отладку.

И не забудь про short_open_tags.

lizard ★★★
()
Ответ на: комментарий от l0stparadise

Вот, было дело, переносил сайт с площадки 2008-го года, FreeBSD6.3-STABLE, Apache 1.3.33, php 5.1 (вроде бы), mysql 4.1.x. И полсотни RewriteRule с RewriteCond в .htaccess. Это уже не говно мамонта, это нефть.

lizard ★★★
()
Последнее исправление: lizard (всего исправлений: 1)
Ответ на: комментарий от lizard

Знакомо, тоже когда-то делал подобный апгрейд. Но, слава богу, с 5.1 до 5.6 все относительно легче, чем с 4.х на 5.х :)

l0stparadise ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.