Web МастерскаяБлог
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.
Прощание с eval(): Как переписать код и спать спокойно
Функция
Хорошая новость: в 95% случаев можно найти безопасную альтернативу без потери функционала.

Проблема: Пользователь вводит формулу скидки, например
Решение 1: Библиотеки парсинга выражений
Вместо выполнения кода, разберите его синтаксис.
...
eval() — это попытка интерпретатора PHP выполнить произвольную строку как программный код. Это швейцарский нож, у которого вместо лезвия — циркулярная пила. Она удобна для написания «умных» конфигураций или динамических правил, но делает ваш проект уязвимым к RCE-атакам (Remote Code Execution) и невозможным для статического анализа инструментами вроде Psalm или PHPStan.Хорошая новость: в 95% случаев можно найти безопасную альтернативу без потери функционала.

Сценарий 1: Динамические правила и математические выражения
Проблема: Пользователь вводит формулу скидки, например
(price * quantity) - bonus. Вы используете eval("return $formula;").Решение 1: Библиотеки парсинга выражений
Вместо выполнения кода, разберите его синтаксис.
- Инструмент:
symfony/expression-languageилиnxp/math-parser. - Как работает: Эти библиотеки не исполняют код, а строят дерево операций (AST). Они понимают только математику и логику, игнорируя системные вызовы.
ВыделитьPHP
// Было (Опасно)
$result =- Жалоба
Ускоряем PHP: Как помочь интерпретатору понять код
PHP часто называют медленным языком, но проблема обычно не в самом языке, а в том, как мы его пишем. Zend Engine выполняет наш скрипт, переводя текстовый файл в байткод, а затем в машинные инструкции. Наша задача — сделать этот путь максимально коротким.
Разберем основные приемы оптимизации от простого к сложному.

Интерпретатор тратит время на поиск ключей.
Самая частая ошибка новичков — вызов функций внутри условия цикла.
Пример плохого кода:
...
Разберем основные приемы оптимизации от простого к сложному.

Избавляемся от «магических» поисков (isset vs array_key_exists)
Интерпретатор тратит время на поиск ключей.
- Плохо:
array_key_exists($key, $data). Эта функция ищет ключ по всему хэш-таблице массива. - Хорошо:
isset($data[$key]). Это языковая конструкция. Она проверяет существование переменной и то, что она не null, делая это на уровне ядра виртуальной машины гораздо быстрее.
ВыделитьPHP
// Медленно (функция)
if (array_key_exists('id', $_GET)) { ... }
// Быстро (языковая конструкция)
if (isset($_GET['id'])) { ... }Циклы: Вычисляй заранее
Самая частая ошибка новичков — вызов функций внутри условия цикла.
Пример плохого кода:
ВыделитьPHP
for ($i = 0; $i < count($items); $i++) {
Six-seven в архитектуре ПО
Если вы родитель школьника или просто иногда заходите на YouTube Shorts, вы слышали этот звук. «Six-seven!» (шесть-семь). Выкрик без смысла, сопровождаемый характерным жестом взвешивания невидимых гантелей.
На вопрос «Как дела?» — шесть-семь. «Какая оценка?» — шесть-семь. Это идеальный ответ эпохи постиронии. И чем дольше я смотрю на релизы современных JavaScript-фреймворков в 2026 году, тем больше понимаю: они работают по тому же принципу.
В мире разработки софта есть понятие Overengineering (избыточное проектирование). Это когда для создания простого списка покупок пишется микросервисная архитектура на Kubernetes, настраивается CI/CD пайплайн и внедряются нейросети для предсказания того, какой хлеб вы купите завтра.
Мем «six-seven» стал идеальным символом этого явления. Разработчики крупных библиотек добавляют функции не потому, что их просили пользователи, а потому что:
На вопрос «Как дела?» — шесть-семь. «Какая оценка?» — шесть-семь. Это идеальный ответ эпохи постиронии. И чем дольше я смотрю на релизы современных JavaScript-фреймворков в 2026 году, тем больше понимаю: они работают по тому же принципу.
Что такое синдром «Шести-Семи» в разработке?
В мире разработки софта есть понятие Overengineering (избыточное проектирование). Это когда для создания простого списка покупок пишется микросервисная архитектура на Kubernetes, настраивается CI/CD пайплайн и внедряются нейросети для предсказания того, какой хлеб вы купите завтра.
Мем «six-seven» стал идеальным символом этого явления. Разработчики крупных библиотек добавляют функции не потому, что их просили пользователи, а потому что:
- Нужно выпустить мажорную версию (v2.0 звучит лучше, чем v1.9).
- Главный
Как стать источником для ИИ (Почему нейросети цитируют одних и игнорируют других)
Вы наверняка замечали: когда спрашиваешь у нейросети сложный вопрос, она часто цитирует Википедию, Хабр или крупные СМИ. Но почему одни сайты попадают в ответы с указанием источника, а другие остаются невидимыми?
Дело не только в возрасте домена. Нейросети ищут не просто текст, они ищут структурированную истину.
Нейросеть читает вашу страницу не так, как человек. Человек может пробежать глазами полотно текста и уловить суть. Модель ищет четкие блоки:
Для Google и обучающих выборок Яндекса критически важно, кто написал текст.
Дело не только в возрасте домена. Нейросети ищут не просто текст, они ищут структурированную истину.
Структура важнее воды
Нейросеть читает вашу страницу не так, как человек. Человек может пробежать глазами полотно текста и уловить суть. Модель ищет четкие блоки:
- Определения: Четкое начало абзаца («Что такое...», «Это...»)
- Списки и таблицы: Мы обожаем структурированные данные. Если информация оформлена списком (
<ul>или<ol>) или таблицей, шансы попасть в ответ растут кратно. - Прямые ответы: Если ваш заголовок
H2звучит как вопрос пользователя («Как проверить индексацию?»), а первый же абзац дает прямой ответ — вы идеальный кандидат на цитату.
E-E-A-T: Опыт, Экспертность, Авторитет, Доверие
Для Google и обучающих выборок Яндекса критически важно, кто написал текст.
- Авторство: У
Почему много статей в день убьют ваш сайт, даже если они гениальные
В мире контент-маркетинга живет опасный миф: «Чем больше контента, тем выше трафик». Вебмастера старой школы до сих пор верят, что поисковики — это простые роботы, которые любят объем. Залил тысячу текстов за ночь — вышел в топ по всем запросам.
На самом деле в текущем году такая стратегия работает как выстрел себе в ногу. Поисковые системы стали умнее, а алгоритмы E-E-A-T (Опыт, Экспертиза, Авторитетность, Доверие) от Google и новые метрики Яндекса жестко наказывают за «спам-контент».
Поисковая система оценивает не отдельную статью, а весь ресурс целиком. У неё есть понятие «Краулинговый бюджет» — это лимит страниц, которые робот готов обойти на вашем сайте за один визит.
На самом деле в текущем году такая стратегия работает как выстрел себе в ногу. Поисковые системы стали умнее, а алгоритмы E-E-A-T (Опыт, Экспертиза, Авторитетность, Доверие) от Google и новые метрики Яндекса жестко наказывают за «спам-контент».
Как думает робот: Фактор доверия к домену
Поисковая система оценивает не отдельную статью, а весь ресурс целиком. У неё есть понятие «Краулинговый бюджет» — это лимит страниц, которые робот готов обойти на вашем сайте за один визит.
- Для гигантов: Если вы — РБК, Habr или крупное СМИ, и выдаете 100 новостей в час, Яндекс понимает: у вас редакция из 100 человек. Робот выделяет вам огромный краулинг-бюджет.
- Для малого сайта/блога: Если вчера у вас было 50 страниц, а сегодня стало 200 (вы залили архив старых
Категории
- Apache 6
- CMS 3
- CSS 23
- FTP 1
- HTML 16
- JavaScript 46
- Nginx 15
- PHP 54
- phpMyAdmin 2
- SEO 7
- SQL 17
- SVG 10
- URL 1
- XML 2
- Безопасность 9
- Библиотека JS 18
- Графика 1
- Инструкция 1
- Кодировка 2
- Контент 11
- Мнение 4
- Монетизация сайта 1
- Настройка 3
- Ошибка 13
- Поисковая система 2
- Продвижение сайта 5
- Производительность 3
- Прочее 1
- Софт 1
- Старт 1
- Сценарий 1
- Функция 1
- Хостинг | Сервер 2
Реклама















