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

Вячеслав
Местный
Сообщения
229
Реакции
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
Участник
Сообщения
227
Реакции
48
функции регулярок вроде как тоже там весьма устаревшие в FF. Да и под php 7.0 он не заточен. Лучше юзать PDO
 
Вячеслав
Местный
Сообщения
229
Реакции
21
Rich вы про ereg имеете в виду? Скиньте пару строк чего там еще устаревшее, скрипт FF он так то мне по душе, если туда лишнего не пихать)
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Telegram
pligin
rich-99000000 написал(а):
Да и под php 7.0 он не заточен
вместо тысячи слов...
7279

у меня все работает на самых последних версиях...
PDO - хорошо, но со скудным функционалом ФФ об этом не стоит задумываться.
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
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.654
Реакции
1.336
Telegram
pligin
Вячеслав написал(а):
скрипт FF он так то мне по душе, если туда лишнего не пихать
если туда лишнего не пихать, полный функционал умещается в пару каталогов с несколькими файлами...
 
Вячеслав
Местный
Сообщения
229
Реакции
21
:spasibo:
 
APTEMOH
Участник
Сообщения
889
Реакции
256
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
Участник
Сообщения
3
Реакции
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";
}
);

Всё! Не забывайте ставить ваш царский лайк! :)
Такое себе... для лайка слабовато
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
  • #10
aviram написал(а):
для лайка слабовато
Критикуешь - предлагай...

P.S. Не согласен - критикуй, критикуешь - предлагай, предлагаешь - делай, делаешь - отвечай.
 
aviram
Участник
Сообщения
3
Реакции
2
  • #11
APTEMOH написал(а):
Критикуешь - предлагай...

P.S. Не согласен - критикуй, критикуешь - предлагай, предлагаешь - делай, делаешь - отвечай.
Что предложить? Читать справочник php?
 
Сверху