Василий Наумкин

Василий Наумкин

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
Тем, кто пишет компоненты с нуля, не нужны инструкции.

Это типа как попросить Стивена Кинга написать курс для начинающих авторов книг ужасов. Не удивлюсь, если он даже такое писал, за деньги, только новых мастеров книг ужасов от этого не появилось.
Многие просто не знают PHP и собирают сайты мышкой — поэтому вообще о таком не думают.

А если человек знает, что такое composer и умеете им пользоваться, никаких проблем в подключении сторонних библиотек в MODX не возникнет.
И если на сайте присутствуют файлы, названные киррилицей, то скорее всего в процессе копирования их названия исказятся. И у 50% товаров исчезнут изображения, потому как менеджер залил файл «юбка белая.jpg» а после копирования и перезаливки файлов вернулся #!!&&& ***.jpg
Это уже не доработка сайта, это фигня какая-то, если там всё так организовано. Я в подобных случаях пишу новый сайт, где всё делается «как надо».

И пачку скриптов импорта данных со старого, с конвертацией «как надо». Можно всё отполировать до блеска и выкатить в один день в продакшн новый проект. Запустить скрипты, поменять настройки Nginx — и люди видят всё новое, остаётся только авторизоваться.

Ну, это если заказчик не требует внести правки на живую вот прямо на этой неделе. С такими лучше просто не работать.
Есть :)
А, плагином, я и не догадался.

POSTFIX
Ты имеешь в виду POSIX? Но оно же всё равно не работает без установки Ubuntu?

запускается на 256 мегабайтах
Но рабочий стол-то на месте? Что про администрирование через SSH?

Все реально не так плохо как ты думаешь :)
Вполне возможно.

Но зачем мне покупать что-то «не так плохо», когда у меня уже давно всё есть и бесплатно? Где мега-плюсы Windows для хостинга веб-сайтов?

P.S.
Я не хейтер Windows и честно пару раз в месяц пытаюсь перейти обратно для работы, просто потому, что я там могу насобирать мощнейший комп — но не получается слезть с MacOS.
Не, у меня 2018.
Тогда да, не видать апгрейда, только продавать и новый покупать. С 2016 года там всё распаяно наглухо.

Уже завезли :)
Как у них там принято — сбоку приделали.

Я попробовал, мне всё равно не зашло. Потому что в PhpStorm этого терминала нет, в своих каких-то локальных скриптах тоже непонятно как использовать.

Это же, по сути, что-то вроде виртуалки, к которой примонтирован HDD Windows.

Active Directory тот же решает эту проблему.
Ага, поднимать свой домен, чтобы настроить права на локальном компе — умно.

Да и серверная Windows перестала быть чем-то ужасным.
А-ха-ха, её уже можно без рабочего стола использовать на компе с 256 ОЗУ и админить через SSH из коробки?

Паш, ну не смеши мои тапочки, пожалуйста.
у меня MacBook с 128гб памяти и мне очень больно держать локально Windows
Полагаю, речь идёт про SSD и ноут у тебя MacBook Air около 2012+ года?

Если так, то на AliExpress можно купить за 200 рублей переходник с проприетарного Apple на нормальный M.2 и заменить SSD (только PCI-E). Я так недавно поставил жене 512 диск от Intel, очень хорошо работает.

Будете пробовать делать такой сэтап?)
Windows придумывался не для серверов, в отличие от Unix (Gnu/Linux). Там нет огромного количества нужных вещей, начиная хотя-бы с bash и пакетных менеджеров, и заканчивая правами доступа.

В игрушках и корпоративном сегменте ему равных нет, а вот интернет же совсем не его. И это при том, что на Windows Server требуется покупка лицензии.

Но за заметку «а в MODX еще и так можно», конечно, плюс.
Только 3й вариант, только свои процессоры. Чтобы всё завязано было именно на них с самого начала.

Но и они могут у себя где-то внутри вызывать процессоры MODX для работы. Это даст быстрый старт, а потом эти места можно будет улучшить и переписать.
Это более общее правило. try_files проверяет, есть ли $uri на диске, как физический файл, и если нет — то шлёт запрос дальше, на общий роутер.

У меня же конкретное правило — отправлять все запросы к /api сразу на api.php. Выходит, разница только в одной операции чтения диска, зато на каждый запрос.
Другой вариант, который уже больше подходит для концепции REST — отсылаем все запросы как и договаривались на адрес по маске /api/**/*
MODX предсказуемо выдаст событие onPageNotFound — ну а дальше как завещал @Василий Наумкин выстраиваем плагин маршрутизации — и делаем что захотим.
Это если решать все вопросы одним MODX. Да и тогда лучше использовать OnHandleRequest.

А так, лично я давно всё отправляю через Nginx:
location ~ ^/api/ {
    rewrite ^/api/(.*)$ /api.php?q=$1;
}
И там уже любые маршруты с контроллерами.