Всё обо всём

Отличие PHP7 (Что придётся менять если сидишь на старом коде?)

124 44
user avatar
Пользователь
На сайте 14 лет
Сообщений : 164
Репутация : 0
9 лет назад
В общем хочу начать переход на PHP7 но боюсь что придётся всё менять...
Использую обычный mysql_query mysql_fetch_assoc итд в работе с БД да и сам PHP самый простой. Кто может объяснить по человеческий в чём будет разница, прошу не кидать заумные статьи, их я так могу найти ))
user avatar
Пользователь
На сайте 15 лет
Сообщений : 214
Репутация : 0
9 лет назад
Цитата: WiNNeR_tigВ общем хочу начать переход на PHP7 но

Цитата: WiNNeR_tigИспользую обычный mysql_query mysql_fetch_assoc итд в работе с БД

там нет mysql
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
9 лет назад
WiNNeR_tig,
что бы не менять каждый запрос на mysqli тебе надо сделать обертку, это позволит оставить запросы как есть написав некий клас в подключение к базе, на днях наткнулся на такую статью, посмотри: http://irbis-school.com/blog/full/11

суть в том что операторы которые в запросе обявлены deprecated не придется убирать так как под их имена напишем клас, который будет обрабатывать все как нужно, а запросы останутся теме же, просто теперь ты операторы что были удалены или перейменованы обявил скрипту сам, и написал что они должны делать. Потому и называют такой велосипет некей оберткой.
user avatar
Пользователь
На сайте 15 лет
Сообщений : 214
Репутация : 0
9 лет назад
Цитата: Pretorianчто бы не менять каждый запрос на mysqli тебе надо сделать обертку

напиши сам статью об этом, если не в силах нахрен довать советы?
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
9 лет назад
Admin24,
кто сказал что я не в силах? Зачем мне писать если все уже давно написано. Человек спросил совета, я ему овтетил с сылкой на статью где все достаточно розжовано, человек уже будет знать в каком направление копать. Что за наезды? Жаба давит чтоли... ?

P.S. покрайне мере я не ответил 3 словами об том что он и сам знает. А написал реальный совет.
user avatar
Пользователь
На сайте 15 лет
Сообщений : 214
Репутация : 0
9 лет назад
Цитата: PretorianPretorian

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

Цитата: WiNNeR_tigпрошу не кидать заумные статьи, их я так могу найти ))

напиши дельное от себя что человека ждет с пхп 7
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
9 лет назад
Цитата: Admin24дело в том что ты не знаешь как построен скрипт у человека на старой пыхе и предлагаешь передти по шаблону на мл но врядли всем скриптам такое подойдет, человек написал же
а ты бы прочитал о чем статью в начале а затем писал ответ мне. Как бы скрипт небыл написан, обертка поможет не удалять класы которые удалены языком, а написать скрипт как должен их интерпретатор СУБД обработать.
user avatar
Пользователь
На сайте 15 лет
Сообщений : 214
Репутация : 0
9 лет назад
Цитата: Pretorianа ты бы прочитал о чем статью в начале а затем писал ответ мне. Как бы скрипт небыл написан, обертка поможет не удалять класы которые удалены языком, а написать скрипт как должен их интерпретатор СУБД обработать.

это что было? новый приход)))
user avatar
Пользователь
На сайте 14 лет
Сообщений : 402
Репутация : 0
9 лет назад
WiNNeR_tig,
Нуу если брать твой скрипт сеоедит (естественно я знаю что он перепилен), то скорее всего главным преимуществом будет, это прирост производительности. Но нужно будет заменить все mysql_* функции, так как полностью это выпилено.
user avatar
Пользователь
На сайте 13 лет
Сообщений : 1859
Репутация : 0
9 лет назад
Цитата: gemiksНо нужно будет заменить все mysql_* функции, так как полностью это выпилено.
ростих верху же написал что не надо, для этого делается некая обертка...
ну блин вы что не читаете что я пишу воообше...
user avatar
Пользователь
На сайте 14 лет
Сообщений : 402
Репутация : 0
9 лет назад
Цитата: Pretorianростих верху же написал что не надо, для этого делается некая обертка...
ну блин вы что не читаете что я пишу воообше...
Я тему не читал, просто отписал по вопросу ТС
user avatar
Пользователь
На сайте 14 лет
Сообщений : 164
Репутация : 0
9 лет назад
про mysqli в курсе, хотя от простенького класса не отказался бы, могу и сам сделать, но не уверен что будет грамотно и правильно, но что ещё может ждать ?
user avatar
Пользователь
На сайте 13 лет
Сообщений : 317
Репутация : 0
9 лет назад
Цитата: Pretorianчто бы не менять каждый запрос на mysqli тебе надо сделать обертку, это позволит оставить запросы как есть написав некий клас в подключение к базе, на днях наткнулся на такую статью, посмотри: http://irbis-school.com/blog/full/11

суть в том что операторы которые в запросе обявлены deprecated не придется убирать так как под их имена напишем клас, который будет обрабатывать все как нужно, а запросы останутся теме же, просто теперь ты операторы что были удалены или перейменованы обявил скрипту сам, и написал что они должны делать. Потому и называют такой велосипет некей оберткой.
Знаешь, многие считают, что говнокод это сеоедит.
Так вот, говнокод будет, если юзать твой вариант решения проблемы

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

Ты сейчас на какой версии php сидишь? Просто включи вывод depricated ошибок, сразу поймёшь что менять
Из того, на что стоит обратить внимание, это названия классов и тд(появились новые зарезервированные имена) и все ли используемые тобой расширения доступны для седьмой версии. И конечно же теги для php. Теперь только корректные и
- не корректный,не говоря уж о и прочих
user avatar
Пользователь
На сайте 14 лет
Сообщений : 164
Репутация : 0
9 лет назад
Misha,

PHP: 5.4.45
MySQL: 5.5.52
Memcached: 1.4.13 Довольно много используется, будет ли совместим ?
user avatar
Пользователь
На сайте 13 лет
Сообщений : 317
Репутация : 0
9 лет назад
WiNNeR_tig,
Совместимость почти полная. Если бы ты был на ветке 5.5 или 5.6, то даже не почувствовал бы переезда(в случае с мфс), т.к. все изменения касаются ООП или синтаксического сахара.

Цитата: Pretorianтвой букс? http://socpublic.com ???? Ты же ненавидишь буксы )
Укуренный?
user avatar
Пользователь
На сайте 14 лет
Сообщений : 164
Репутация : 0
9 лет назад
user avatar
Пользователь
На сайте 13 лет
Сообщений : 317
Репутация : 0
9 лет назад
Цитата: WiNNeR_tigКонкурсы на socpublic
Всё по просьбе рефоводов, у которых >1к рефов
user avatar
Пользователь
На сайте 14 лет
Сообщений : 164
Репутация : 0
9 лет назад
Flint, и всего то нужно было админу seo edit fast задать вопрос по php что бы это узнать :wink:

$mysqli = NEW mysqli('localhost', 'root', '', 'fuck');
function mysql_query($q){    
    GLOBAL $mysqli;
    return $mysqli->query($q);
}
function mysql_fetch_assoc($q){   
    GLOBAL $mysqli;
    return $q->fetch_assoc();
}
$s = mysql_query("SELECT * FROM `tb_visits` LIMIT 100 ");

while($r = mysql_fetch_assoc($s))
{
    echo $r['id']."
";
}
mysql_query("UPDATE `tb_visits` SET `idad` = '100' LIMIT 10 ");

Такой вариант как вам ?)) Работает в PHP7 ...
user avatar
Пользователь
На сайте 13 лет
Сообщений : 317
Репутация : 0
9 лет назад
WiNNeR_tig,
Честно говоря, по времени так же было бы, если бы автозаменой прошёлся с mysql_ на mysqli_
А по качеству лучше даже было бы)

А вообще вариант дерьмовый, с точки зрения именно программирования
user avatar
Пользователь
На сайте 14 лет
Сообщений : 164
Репутация : 0
9 лет назад
Misha,
просто хочу оставить вывод вида $r['id'] нежели $r->id
Автор темы
author avatar
WiNNeR_tig
Пользователь
На сайте 14 лет
Сообщений 164
Тем 7
Репутация 0
Теги темы
Автор не добавил тегов для этой темы
Ответить
Написал(а):