regiomedia / bitrix-project Goto Github PK
View Code? Open in Web Editor NEWЗаготовка 1C Bitrix проекта: автозагрузка, композер, базовые ООП компоненты, миграции, модели, современный фронтенд стек, инструменты для деплоя.
Заготовка 1C Bitrix проекта: автозагрузка, композер, базовые ООП компоненты, миграции, модели, современный фронтенд стек, инструменты для деплоя.
При попытке произвести выгрузку из 1С ловлю ошибку: PHP Fatal error: Out of memory (allocated 150470656) (tried to allocate 55883928 bytes) (хотя memory_limit=1024M). В итоге выяснил, что проблема возникает в файле vendor/autoload.php, но что этому сопутствует понять не могу! Пытался исключать директорию битрикс из autoload в composer json:
"autoload": {
"psr-4": {
"Local\\" : "local/classes/"
},
"exclude-from-classmap": ["/bitrix"]
}
после чего сделал composer dumpautoload -o, но никаких успехов не добился. Не сталкивался никто с подобной проблемой?
Публичные файлы в корне проекта. Все служебные штуки - в local
. Защита от нежелательного доступа к файлам - .htaccess
.
Заменить текущий сборщик на https://github.com/symfony/webpack-encore. Явно указывать файлы для сборки, вместо соглашения о структуре и именовании.
Избавиться от cssnext в пользу Sass.
Убрать оптимизацию изображений.
https://github.com/notamedia/console-jedi/
Добавить в Вики мануалы по написанию классов/компонентов/шаблонов/фронтенда. Соответственно в Ридми оставить только проектно-ориентированный текст:
Внезапно выяснилось, что короткие вызовы Kint
не дружат с модулем интернет магазина и по какой-то причине рушат обмен данными с 1с
скорей всего, дело в том, что статусы заказов в недрах Битрикса проверяются на callable
и статус D
перекрывается Kint-функцией d()
и из-за этого происходит ататат.
Но это не точно.
К счастью можно просто-напросто отключить хелперы Кинта в файле composer.json
https://kint-php.github.io/kint/advanced/#disabling-helper-functions-in-composer
И либо использовать полноценные вызовы методов Кинт, либо написать "безопасные" хелперы
"Фронтовая" часть должна обеспечить простую и ненавязчивую возможность использования в шаблонах сайтов/компонентов, а также вне их (если очень сильно надо) следующих модных штук:
При этом не должны требоваться дополнительные настройки, например, при добавлении нового шаблона сайта.
Для этого необходимы соглашения по структуре и именованию.
Наш галп-таск (или нпм-скрипт (или еще чего)) должен "ходить" по всему проекту и искать директории вида assets-raw
, обрабатывыать их содержимое и складывать результат в соседнюю директорию assets-done
.
Наименование директорий для исходников и результатов сделать конфигурируемыми.
Скрипты и стили полученные данным способом должны подключаться перед "стандартными" скриптами и стилями, для того чтобы была возможность "по-быстрому" поправить какой-нибудь косяк без участия системы сборки и не потерять данный фикс при ее (сборки) запуске.
(Спорный пункт, потому как есть еще composer'ная директория vendor
) Директории с результатами по-умолчанию не должны игнорироваться системой контроля версий. Это позволит убрать из скрипта деплоя шаг по сборке и всегда иметь готовый к использованию код проекта.
Давно пора
Здравствуйте!
Я использую в работе react/http-client, для которого критична установка значения mbstring.func_overload = 0.
Ввиду своих скудных знаний, я не знаю, каким способом можно корректно задать это значение для директории /home/bitrix/<site_name>/vendor. Если поменять это значение глобально - ругается битрикс, пытаюсь задать для директории в конфиге php - не работает.
<Directory /home/bitrix/<site_name>/vendor/> php_admin_value mbstring.func_overload 0 </Directory>
В проекте сделан симлинк вида /home/bitrix/ext_www/<site_name> -> /home/bitrix/<site_name>
Добавить сюда
Все пункты установки из гайда проходят без проблем (правда, взял новые dependencies из pull requiest #21: без этого webpack отказывался собирать файлы).
Проблема возникла только в установке среды default через jedi от notamedia.
Копирование происходит нормально, а потом выкидывает ошибку подключения.
PHP, Composer, npm и прочее установлено и настроено. Webpack работает.
Возможно, что проблема в Symlink'ах?
Чтобы описать всю картину, опишу что было мною сделано:
Собственно, что пишет консоль:
`D:\Web Projects\OSPanel\domains\domain-name>.\vendor\bin\jedi env:init
Which environment install?
[default] Default
PHP Fatal error: Uncaught Error: Class 'Bitrix\Main\Config\Configuration' not found in D:\Web Projects\OSPanel\domains\domain-name\vendor\notamedia\console-jedi\src\Environment\Command\InitCommand.php:174default
Copy files from the environment directory
D:\Web Projects\OSPanel\domains\domain-name/bitrix
D:\Web Projects\OSPanel\domains\domain-name/bitrix.settings.php
D:\Web Projects\OSPanel\domains\domain-name/bitrix.settings_extra.php
D:\Web Projects\OSPanel\domains\domain-name/bitrix\php_interface
D:\Web Projects\OSPanel\domains\domain-name/bitrix\php_interface\dbconn.php
Stack trace:
#0 D:\Web Projects\OSPanel\domains\domain-name\vendor\notamedia\console-jedi\src\Environment\Command\InitCommand.php(125): Notamedia\ConsoleJedi\Environment\Command\InitCommand->initializeBitrix()
#1 D:\Web Projects\OSPanel\domains\domain-name\vendor\symfony\console\Command\Command.php(255): Notamedia\ConsoleJedi\Environment\Command\InitCommand->execute()
#2 D:\Web Projects\OSPanel\domains\domain-name\vendor\symfony\console\Application.php(992): Symfony\Component\Console\Command\Command->run()
#3 D:\Web Projects\OSPanel\domains\domain-name\vendor\symfony\console\Application.php(255): Symfony\Component\Console\Application->doRunCommand()
#4 D:\Web Projects\OSPanel\domains\domain-name\vendor\notamedia\console-jedi\src\Application\Application.php(103): Symfony\C in D:\Web Projects\OSPanel\domains\domain-name\vendor\notamedia\console-jedi\src\Environment\Command\InitCommand.php on line
174
`
Буду признателен, если поможете с решением данной проблемы.
И отдельная благодарность за сам репозиторий!
Если получится настроить - цены ему не будет просто.
"По-мотивам" https://github.com/regiomedia/deployer-recipe-sync сделать таски для синхронизации файлов и БД между различными окружениями.
Запускаю сброку проекта npm run dev
Лог с ошибкой: https://pastebin.com/5tSfxaPR
vendor/bin/jedi cache:clear
There are no commands defined in the "cache" namespace.
Почему-то не работает команда очистки кеша.
Повторный запуск (сразу после первого) dep deploy говорит что в папке bitrix есть назакомиченные изменения http://joxi.ru/xAeYlWdIpqebBA
Попытка закоммитить их приводит к сообщению что данные файлы лежат по ссылке и сделать это нельзя - что логично, т.к. файлы bitrix лежат в shared, а она в свою очередь не подлежит версионированию для данного проекта.
Как вы решили/обошли эту проблему?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.