2019-й! Пора менять function __autoload в FF, делюсь кодом!

Вячеслав

Местный
Сообщения
126
Реакции
10
PSC
39,11
Недавно я прочитал на официальном сайте по php что устаревшая функция: "function __autoload" скоро может не работать и не поддерживаться чем либо, я так понял что в один прекрасный день сайт на движке FF может лечь, выдаст белый фон или другие проблемы, тем самым может ввести в заблуждение хозяина сайта подумав на другое, заварится такая каша что просто... Эта функция как я заметил есть и в стандартной FF. Тот код что на оф. сайте по php был только примером, но чистый spl_autoload не работал. Пришлось пошаманить с кодом часик другой и о чудо! ... Функцию я заточил только под оригинальный движок 2013 - Fruit Farm если у вас заработает обновление пишите комментарии!

Мои впечатления после замены:
Я заметил что то всётаки изменилось в лучшую сторону после замены старой версии на новую, объяснить в двух словах будет сложно, одно могу сказать что то вроде производительности на пару FPS как в играх :)

Итак поехали! Заменяем "старый" на "новый" абсолютно везде где найдете в скрипте, начиная с корневых файлов: index.php, payeer_merchant.php и в других, если в одном месте не замените, то сайт не откроется и выдаст белую страницу, только после всех замен сайт делает новый вдох. Удачи!

"Автоподгрузка классов для FF 2019":

-------------------------------------------------------------------
Старый код:
-------------------------------------------------------------------
# Автоподгрузка классов
function __autoload($name)
{
include("classes/_class.".$name.".php");
}

-------------------------------------------------------------------
Новый код:
-------------------------------------------------------------------
# Автоподгрузка классов
spl_autoload_register(function ($name)
{
include "classes/_class.".$name.".php";
}
);

Всё! Не забывайте ставить ваш царский лайк! :)
 

rich-99000000

php developer
Участник
Сообщения
228
Реакции
48
PSC
36,62
функции регулярок вроде как тоже там весьма устаревшие в FF. Да и под php 7.0 он не заточен. Лучше юзать PDO
 

Вячеслав

Местный
Сообщения
126
Реакции
10
PSC
39,11
Rich вы про ereg имеете в виду? Скиньте пару строк чего там еще устаревшее, скрипт FF он так то мне по душе, если туда лишнего не пихать)
 

pligin

Команда форума
Администратор
Сообщения
3.607
Реакции
1.268
PSC
96.975,38
Telegram
pligin
Да и под php 7.0 он не заточен
вместо тысячи слов...
7279
у меня все работает на самых последних версиях...
PDO - хорошо, но со скудным функционалом ФФ об этом не стоит задумываться.
 

pligin

Команда форума
Администратор
Сообщения
3.607
Реакции
1.268
PSC
96.975,38
Telegram
pligin
Недавно я прочитал на официальном сайте по php что устаревшая функция: "function __autoload" скоро может не работать и не поддерживаться чем либо, я так понял что в один прекрасный день сайт на движке FF может лечь, выдаст белый фон или другие проблемы, тем самым может ввести в заблуждение хозяина сайта подумав на другое, заварится такая каша что просто... Эта функция как я заметил есть и в стандартной FF. Тот код что на оф. сайте по php был только примером, но чистый spl_autoload не работал. Пришлось пошаманить с кодом часик другой и о чудо! ... Функцию я заточил только под оригинальный движок 2013 - Fruit Farm если у вас заработает обновление пишите комментарии!

Мои впечатления после замены:
Я заметил что то всётаки изменилось в лучшую сторону после замены старой версии на новую, объяснить в двух словах будет сложно, одно могу сказать что то вроде производительности на пару FPS как в играх :)

Итак поехали! Заменяем "старый" на "новый" абсолютно везде где найдете в скрипте, начиная с корневых файлов: index.php, payeer_merchant.php и в других, если в одном месте не замените, то сайт не откроется и выдаст белую страницу, только после всех замен сайт делает новый вдох. Удачи!

"Автоподгрузка классов для FF 2019":

-------------------------------------------------------------------
Старый код:
-------------------------------------------------------------------
# Автоподгрузка классов
function __autoload($name)
{
include("classes/_class.".$name.".php");
}

-------------------------------------------------------------------
Новый код:
-------------------------------------------------------------------
# Автоподгрузка классов
spl_autoload_register(function ($name)
{
include "classes/_class.".$name.".php";
}
);

Всё! Не забывайте ставить ваш царский лайк! :)
прям удивил)))
большинство до сих пор пытаются ereg использовать...
 

pligin

Команда форума
Администратор
Сообщения
3.607
Реакции
1.268
PSC
96.975,38
Telegram
pligin

APTEMOH

Местный
Сообщения
892
Реакции
253
PSC
328,88
Telegram
APTEMOH
Делюсь! С проверкой файла:

PHP:
//функция автозагруки, загружающая классы из папки classes:
function loadFromClasses($aClassName) {
    $aClassFilePath = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . "_class." . $aClassName . '.php';
    if (file_exists($aClassFilePath)) {
        require_once $aClassFilePath;
        return true;
    }
    return false;
}

//регистрируем функцию автозагрузки
spl_autoload_register('loadFromClasses');
 

aviram

Участник
Сообщения
9
Реакции
1
PSC
144,53
Недавно я прочитал на официальном сайте по php что устаревшая функция: "function __autoload" скоро может не работать и не поддерживаться чем либо, я так понял что в один прекрасный день сайт на движке FF может лечь, выдаст белый фон или другие проблемы, тем самым может ввести в заблуждение хозяина сайта подумав на другое, заварится такая каша что просто... Эта функция как я заметил есть и в стандартной FF. Тот код что на оф. сайте по php был только примером, но чистый spl_autoload не работал. Пришлось пошаманить с кодом часик другой и о чудо! ... Функцию я заточил только под оригинальный движок 2013 - Fruit Farm если у вас заработает обновление пишите комментарии!

Мои впечатления после замены:
Я заметил что то всётаки изменилось в лучшую сторону после замены старой версии на новую, объяснить в двух словах будет сложно, одно могу сказать что то вроде производительности на пару FPS как в играх :)

Итак поехали! Заменяем "старый" на "новый" абсолютно везде где найдете в скрипте, начиная с корневых файлов: index.php, payeer_merchant.php и в других, если в одном месте не замените, то сайт не откроется и выдаст белую страницу, только после всех замен сайт делает новый вдох. Удачи!

"Автоподгрузка классов для FF 2019":

-------------------------------------------------------------------
Старый код:
-------------------------------------------------------------------
# Автоподгрузка классов
function __autoload($name)
{
include("classes/_class.".$name.".php");
}

-------------------------------------------------------------------
Новый код:
-------------------------------------------------------------------
# Автоподгрузка классов
spl_autoload_register(function ($name)
{
include "classes/_class.".$name.".php";
}
);

Всё! Не забывайте ставить ваш царский лайк! :)
Такое себе... для лайка слабовато
 
Сверху