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

Вячеслав

Местный
Сообщения
219
Реакции
21
Недавно я прочитал на официальном сайте по 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
функции регулярок вроде как тоже там весьма устаревшие в FF. Да и под php 7.0 он не заточен. Лучше юзать PDO
 

Вячеслав

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

pligin

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

pligin

Команда форума
Администратор
Сообщения
3.726
Реакции
1.340
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.726
Реакции
1.340
Telegram
pligin

APTEMOH

Местный
Сообщения
895
Реакции
258
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
Реакции
2
Недавно я прочитал на официальном сайте по 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";
}
);

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