Точную реализацию на .net я не подскажу, т.к. делаю backend в другом стэке. В общем и целом Вам нужно создать веб-сервер, и реализовать в нем обработчики http-запросов с определенными url (то что я называл «ручками»). По сути текущий php-скрипт является одним из таких обработчиков.
В одном из ответов выше Вам дали ссылку на документацию, где как-раз про создание веб-сервера пишут.
Не имею ничего против github, но у gitlab есть преимущество в плане CI/CD. На настройку gitlab ci нужно существенно меньше времени, т.к. всё уже есть (бесплатные агенты и единый интерфейс как для кода так и для CI-пайплайнов) и настроено, можно сразу начинать писать yml-конфиг и смотреть как работает эта магия.
2500 картинок это ни о чём, как и 2500 записей в БД. 12к записей тоже не критично, не забываем что скрипт работает в фоновом режиме, и частота запуска у него маленькая. Ну и самое главное - не делать запросы к БД в цикле ))
Если ожидается большой объём данных, то можно использовать оба решения (как скрипт так и обработчик события), это позволит не доводить до разрастания папки с лишними файлами.
Вот тут Вы просто получаете строку с twig-шаблоном внутри, но что бы эта строка стала целиком html её нужно дополнительно отрендерить. Пройдите по ссылке, которую я дал в предыдущем комментарии, там есть нужный Вам пример:
В Вашем случае необходимо сначала сохранить сконвертированный из pug в twig шаблон в файл, а потом передать путь к нему в метод: return $twig->render('/path/to/tpl.twig', $data);
Либо использовать вот этот подход.
Вам необходимо почитать документацию отдельно по twig, что бы понимать как он используется.
В таком случае необходимо привести пример кода, которым пытаетесь запустить рендеринг полученного twig-шаблона.
На всякий случай, вот тут рабочий пример того как можно рендерить twig-шаблоны в html. Есть смысл сверить с вашим кодом.
Вы в рамках какого-то фреймворка пытаетесь запустить рендеринг?
Ожидаю того что при наличии ORM, которая призвана отделить бизнес-логику от прямых sql-запросов, миграции так же будут независимы от конкретной БД
Какой "такой"?
Вариант описанный мной ранее, на локальном сайте sqlite, на prod-mysql. Речь не идёт о bigdata, полнотекстовом поиске и т.д., сайт сам по себе довольно простой, и заморачиваться с соответствием окружений нет нужды.
1. Я видел if, но если этот if убрать, то миграция корректно не работает, т.к. проблема в сгенерированном sql-запросе.
2. Т.е. такой вариант вообще не предусмотрен, или для таких миграций необходимо вручную писать код миграций?
У товаров может быть св-во типа справочник (привязка к элементам HL-блока), по которому потом можно в т.ч. и фильтровать через умный фильтр. В свою очередь элементы этого HL могут иметь кучу своих свойств, в т.ч. и картинка и SEO описание и т.п., что выводится на этой SEO-странице.
Да, точно. Об этом забыл упомянуть. Хотя если настолько заморачиваться, то можно конечно использовать дистрибутив линукс tails. Говорят на нём сам великий и ужасный Сноуден сидит.
Ну а вообще, CMS Joomla довольно таки серьёзное ПО, и есть мнение что сайт на ней нереально сломать. Даже если кто-то получает пароль к бд из этого файла, система сразу вычисляет его по IP вплоть до адреса, номера телефона, и номеров 3 последних исходящих звонков. Главное об этом написать на главной странице сайта, тогда крутые хацкеры даже не станут пробовать ломать.
Написал в итоге как у меня получилось в комменте к предыдущему посту. В вашей реализации мне кажется можно было бы без рефлексии обойтись. У меня получилось, если "ссылкой" на элемент контейнера передавать прокси-класс, который содержит почти такую же функцию __call(), как и в Вашей реализации.
Сегодня всё же сложил всё в кучу. Оказалось что то что я хотел, хорошо получается если применить шаблон Прокси. Получается в библиотеку можно передать либо заранее созданный экземпляр класса, либо экземпляр класса, который проксирует запросы на нужный элемент контейнера. При этом, передача этого прокси-класса не вызывает конструктор элемента в контейнере! А библиотека в обоих случаях не заморачивается с тем каким образом ей была передана служба.
В одном из ответов выше Вам дали ссылку на документацию, где как-раз про создание веб-сервера пишут.