Comments 35
О, брат по разуму! Я тоже был критически недоволен современным CMS-монстрами, и потому полгода назад написал свой PHP-фреймворк для решения кучки своих задач: типовые сайт-визитки, типовые сайты по раскрытию информации для ПИФов, конвертации и работа с дампами БД, операции с файлами, и - надо же! - менеджмент и обработка видео. В итоге должен получиться модуль для полуавтоматического видеомонтажа в браузере.
Создание ядра заняло 2-3 недели в паре с ИИ.
Та же концепция “всё есть файл”, но по-умолчанию работает без БД. В итоге оказалось, что проект для меня настолько удобный, что развернул на нём же большую СУБД для заказчика.
Вот только выкладывать это в паблик вероятно поленюсь, в отличие от автора этого поста, за что ему спасибо, это ценно!
Мы полностью отказались от JavaScript
Раньше тоже этим занимался. Потом открыл для себя vue и SSG и обнаружил, что js-файл на выходе там настолько маленький, что смысла дальше оптимизировать особо и нет. А раздача статики ещё быстрее, чем генерация (чем ещё пользовались wakaba и futaba, если правильно помню).
Для сравнения, https://zassyha.ru/ с картинкой 240Кб на главной:

И https://pro-kanji.ru/ с vue, роутингом на JS, “монструозным” css-файлом (с semantic-ui, т.к. мне было лень верстать), но без больших картинок:

Смысл в том что ломаться там нечему. Только голый php(pdo)+html+css. Всё. Я просто начинал кодить ещё на wen.ru с телефона, поэтому предпочитаю надёжность лома.
Изображение в .jpeg на 237 КБ тоже удивило. Когда речь идёт о сверх-лёгких решениях, однозначно ожидаешь увидеть .avif или, на крайний случай, .webp. Легко без чрезмерно заметных потерь ужать эти 237 до 50 КБ, а то и меньше.
Разве отказ от JS на клиенте не убивает кучу полезного функционала вроде аналитики, нормальных форм и динамических подгрузок?
Так сайт практически ничего не делает, поэтому и быстро работает. А wordpress и drupal предоставляют универсальный фреймворк для разработки решений. Хотя и они с прямыми руками будут работать быстро.
Жесть, посмотрел на код - как будто бы в 2009 год вернулся :) wen.ru, ruwap, xwab, wapadmin, хомяк :) Спасибо за ностальгию, но в прод такое тащить нельзя)
Код выполняет свою задачу - отдаёт контент. А уж что туда прикрутить можно - решать не мне.
О-хо-хо, аж олдскулы свело!
У меня на кнопочном телефоне был редактор кода и ftp до wen.ru )
Можно ещё упомянуть, что тогда же был kmx - kovcheg media explorer, примерно с теми же функциями.
В те времена, мегабайт мобильного интернета стоил примерно 10 руб (чего примерно хватало на полдня в мессенджере), а если ресурс или страница весили сами по себе больше 15 кб, клиент сбрасывал соединение; javascript телефоны не умели.
А ещё, некоторые оставляли в футере ссылку а-ля "Не нажимать", которая вела на одну из двух страниц со взаимным циклическим редиректом и текстом а-ля "Все твои данные уничтожены" и "Конец твоему телефону"
Такой код пишется за вечер под пиво, работает годами на забытом сервере, а потом его ломают через уязвимость нулевого дня в древней версии PHP)
Вижу пыху, ставлю лайк )
Мой результат — 0.0023 сек. Это в 200 раз быстрее.
Автор на серьезных щщах сравнивает свой аналог "Hello world!" c CMS системами 🤣
Зассыха?
Это же гостевая книга на текстовых файлах, господа:)
Привет тем, кто помнит Manlix и Sad Raven :)
"Зумеры опять изобрели <что-то, сто лет как известное>" :)
Я на пыхе последний раз в году 2005 писал, будучи подростком. Тогда вроде была 4.x версия. Вот ваш код похож 1 в 1 на тот, что был в те времена :) Глянул недавно пыху, на предмет того, чего там нового произошло за эти годы. Ну мне нужно было запилить маленькую апиху для шаред хостинга, для одного проекта. Чтобы с девопсом и vps не заморачиваться, решил так сэкономить время и финансы. Честно сказать охренел от оверхеда фреймворков, пыхоооп, в целом от того, какую когнитивную нагрузку создаёт для мозга современная пыха. Такое ощущение, что явно они где-то свернули не туда :) Из языка на котором мог по-быстрому накезать сайтец любой школьник, превратились в такого монстра.
Вот и я про тоже. Честно говоря я до сих пор не понимаю зачем городить огород и втыкать костыли нормально работающему инструменту.
Язык остался таким же как раньше, и писать на нем можно также как и раньше, только удобнее и чуток почище. Вы в шоке от фреймворков, а не от языка. Кто мешает написать все на чистом php как в 2005.
Все мы когда-то писали свои самописные движки "без лишнего мусора", ровно до тех пор пока заказчик не просил добавить корзину товаров и экспорт в 1С
Какая душевная Асси!
Бог с ней с CMS, срочно нужны настройки нейросетевого агента, который пишет такие милые тексты!
Я пошёл дальше и отказался от пыхи. Просто поставил опенрести и луа джит, и у меня больше нет пхп-фпм. Роут в контексте нджинкс, подключение бд - только редис, кеш - мэджик кеш самого нджинкс. Ответ сервера около 0.0с
Не поймите меня неправильно, мне нравится идея и принцип KISS, скорость и оптимизация. Но зачем на алтарь производительности класть чистоту кода и его читабельность? Знаете, PHP ведь неплохо так эволюционировал. Зачем до сих пор писать на PHP 7.0 и делать вид, что кроме апача ничего не существует?
Я уж не говорю про визуальное восприятие кода. Вы ведь в курсе, что от уменьшения количества пробелов и переносов строк код не будет работать быстрее, да? Вместо того, чтобы экономить на скобках, можно сэкономить пару тактов процессора на вызове функций is_ и всяких strlen, если добавлять бэкслэш к некоторым функциям.
При этом, если во главу угла ставится производительность, то какой функционал у счётчика онлайн посетителей? Просто показывать циферку как в нулевых? И ладно бы просто циферку, но online_users.last_activity сломается при переходе на зимнее время, потому что время хранится без таймзоны.
Доходит до смешного, вроде того, что в выводятся неэкранированные http заголовки, у форм нет csrf, кукисы задаются и проверяются абы как. Я уже не говорю про условия запросов по неиндексированным полям, неэкранированный вывод, забытые биндинги в execute(). Добавлять зип бомбы и honeypot'ы, но иметь уязвимости уровня path traversal и банальных инклюдов - это мощно.
В общем, мы имеем набор скриптов "CMS на инклюдах и глобальных переменных", которая ломается из-за хардкода слэша вместо DIRECTORY_SEPARATOR и работает только при установке в корень, а при установке в папку ссылки ломаются из-за россыпи других хардкодов слэшей в <a> и <link>.
Собственно, мы имеем удовольствие лицезреть причину, по которой PHP получил имидж плохого языка. Спасибо за креатив. Максимальный репост, звёзд и форков на гх, чтобы как можно больше нейросетей "обучилось" на таком коде и моя работа стала ещё более ценной.
Вместо того, чтобы экономить на скобках, можно сэкономить пару тактов процессора на вызове функций is_ и всяких strlen, если добавлять бэкслэш к некоторым функциям.
Это работает только если пространство имён не глобальное. А в глобальном оно и так эти интринсики сворачивает, если что)
которая ломается из-за хардкода слэша вместо DIRECTORY_SEPARATOR
Человеческий слеш / работает на любой ОС. Использование DIRECTORY_SEPARATOR – это атавизм, ну или если надо красиво путь нарисовать на экране.


0.0023 секунды на генерацию: зачем я собрал «стальной» движок на PHP в эпоху жирных CMS