Здравствуйте! Создаю модуль через командную строку, но не получается добавить открывающий тэг php в файл .module
Через командную строку не добавляется, а при добавлении вручную потом при включении модуля сообщение о синтаксической ошибке.
Скриншоты прилагаю.
Подскажите, пожалуйста, какая ошибка?
Также верно ли, что помещаю его в папку sites/all/modules/custom
Или нужно было в папку модуля Migrate помещать?
Полное название файла mymigrate3.module (так как создание его для модуля Migrate)
Кодировка UTF-8 without BOM
В командной строке в папке файла пишу
touch mymigrate3.module
echo <?php>>mymigrate3.module
Ошибка -bash: ?php: No such file or directory
Копирую прямо из названия файла его название для второй комнады echo и все равно такая ошибка.
Тогда скачиваю файл и в редакторе добавляю
<?php
и уже с этим кодом его заливаю, но потом при попытке включения
синтаксическая ошибка
"PHP Parse error: syntax error, unexpected $end in .../sites/all/modules/custom/mymigrate3/mymigrate3.module on line 1
Drush command terminated abnormally due to an unrecoverable error. [error]
Error: syntax error, unexpected $end in .../sites/all/modules/custom/mymigrate3/mymigrate3.module, line 1
"
При повторе уже с аналогичным модулем mymigrate4 и копированием содержимого файла .module из модуля примера Migrate (целиком вместе с комментариями)
почему-то вообще сообщение о хуке выдалось, хотя файл inc еще не был создан, но по хуку, навернео отдельную тему создам.
Вложение | Размер |
---|---|
2018-05-22_10-19-53.png | 40.96 КБ |
2018-05-22_09-57-53.png | 54.96 КБ |
2018-05-22_09-47-57.png | 4.21 КБ |
2018-05-22_10-26-50.png | 15.61 КБ |
Комментарии
echo "<?php" > mymigrate3.module
Спасибо большое. Тэг в файл добавляется теперь.
Но сообщение про хук такое же как для mymigrate4 на скриншоте.
Буду разбираться с этим. Хотя потом еще раз повторяю drush en и после этого через UI модуль виден нормально включенным.
А дальше, если добавлять строки с одинарными кавычками, то нужно их как выводить через echo?
так правильно?
echo "'api' => 2," >> mymigrate.migrate.inc?
Зачем вы вообще пишите модуль через echo?
Если хочется из терминала всё делать, используйте nano или vi/vim.
Там и подсветку кода можно организовать.
Спасибо, попробую Nano - этот?
С vim у меня какие-то сложности были, не помню, уже при сохранении файла или при выходе из него, приходилось перезапускать putty, надо попробовать снова.
Этот
Если вдруг пригодится, есть небольшая наработка по созданию модулей для 7ки из cli.
Спасибо!
У меня вероятно не хватет чего-то на сервере, так что смогу затестить позже, когда разберусь, пока после npm install -g yo
пишет
npm: command not found
Понимаю в чем преимущество в сравнении с UI.
А в чем отличие по сравнению с копипастой touch и echo - это удобство и отсутвие необходимости рыться в файлах с заготовками?
А как-то можно этим способом типы материалов или миграции создавать?
npm - это пакетный менеджер Node.js, и чтоб он был - нужно установить саму ноду (по ссылке будет инструкция).
Отличие - в использовании специализированного инструмента, который поддерживается огромным комьюнити, предоставляет кучу возможностей
и не требует всех этих колхозов с touch и echo))Функционал инструмента по ссылке выше - весьма ограничен, но Вы можете сами написать свой генератор при небольших познаниях JS: http://yeoman.io/authoring/
Спасибо, попробую.
Есть модуль module_builder, он содержит команды для drush
Спасибо. Очень интересно будет потестить.
Немного не по теме, но если вам так нравится всё создавать из консоли, то вам нужен не седьмой друпал, а восьмой.
Спасибо большое, учту! Когда приходится делать однотипные действия, в этом случае нравится копипастить, но может и действительно мне в консоли удобнее. Восьмерку использую пока в тестовом режиме, но буду активнее в этом направлении.
Вот по Друпал 7, несмотря на наличие многих солидных руководств, все равно приходится кучу разных источников использовать. А есть какие-то источники для Друпал 8, которые Вы бы могли рекомендовать для начала изучения Друпал 8 для преимущественной работы через консоль?
Всегда был интерес профит использования модулей которые создают много лишнего быстро за тебя, и как бы сразу клёво время съэкономил , а потом через некоторое время вдруг что-то где то пошло не так заглянул в модуль ой, а что там для чего откуда и куда, и что там за ересь на авто добалялась ... ?!
Ересь добавлена комментом выше.
"Генераторы" модулей каркас создают и описания хуков, но никак не логику.
Не убедил, лишние хуки - это зло.
В том-то и дело, скаффолдинг - не должен делать работу программиста, он должен создавать только каркас (все эти рутинные имплементации повторяющиеся из модуля - в модуль), всю логику реализуем по прежнему мы
А что именно лишнее создаёт друпал-консоль?
Иллюзию владения Drupal'ом уровня "БОХ"
Ну скажем прямо, по началу с теми же Dependency Injection без консоли трудно совладать - приходится по каждому сервису читать доку предварительно и можно что-то напутать, это уже потом рука набивается, когда, к примеру не все сервисы загрузил из консоли и часть добавляешь сам. А энтитю без консоли создавать вообще запаришься - там тупо файлов с десяток, плюс пхп-аннотации, без которых ничего не заработает.
Я, если что, с сарказмом писал. Не в упрек )))
Типа:
Ну тут человек за советом пришёл, поэтому развёрнутая инфа ему не помешает.
Самый лучший каркас в коде "коробки". Изучите функционал, а потом можете смотреть код который его реализуют и использовать его с "умом".
Попробую, спасибо.
А какие хуки есть в Yo или друпал-консоли?
Сделайте и посмотрите, а потом нам напишите здесь - какие там есть хуки.
hook_help() есть. Других нет.
Экономит много времени?
drupal gm - экономит в пределах минуты
drupal geco - экономит минут 15
drupal gf - экономит минут 3-5
drupal gcon - экономит порядка 3 минут
drupal gpff - около 5 минут
drupal gprr - около 5 минут
Это из того, чем постоянно пользуюсь. Есть ещё штук 5 полезных команд, которые экономят по пару минут каждая.
И это без учёта возможных потерь времени, если, скажем забудешь что-то вписать в аннотацию плагина или сущности при создании полностью вручную.
Главное - это экономит настроение.
На 25-ом mkdir && cd && touch mymodule.info.yml, обычно, начинаешь задумываться о смене профессии.
Не выгорайте, пацаны!
> drupal gm - экономит в пределах минуты
https://docs.drupalconsole.com/ru/drupal-console/content/en/commands/gen...
Отлично минута час бережет
> drupal geco - экономит минут 15
https://docs.drupalconsole.com/ru/commands/generate-entity-content.html
Определение кастомной сущности
> drupal gf - экономит минут 3-5
https://hechoendrupal.gitbooks.io/drupal-console/content/fr/commands/gen...
Определение кастомной формы конфига
> drupal gcon - экономит порядка 3 минут
https://hechoendrupal.gitbooks.io/drupal-console/content/en/commands/gen...
Определение кастомного контроллера
> drupal gprr - около 5 минут
https://hechoendrupal.gitbooks.io/drupal-console/content/en/commands/gen...
Рест плагин сурс
e.t. https://hechoendrupal.gitbooks.io/drupal-console/content/ru
А где можно подробнее почитать подробнее про
эти команды? Их где можно вводить? Мне не удалось найти просто по вводу их в поисковике?
https://hechoendrupal.gitbooks.io/drupal-console/content/en/commands/ava...
Спасибо, если восьмеркой плотнее займусь, то изучу.
блин.. отстал я от жизни.. все по старинке.. IDE, drush, drupal-консоль..
ТС, Вы бы лучше описали причину, из-за которой Вам приходтся так извращаться..
Вам бы 3 кучи советов бы навалили, как все это делать продуктивнее..
Причина, наверное, в том, что можно одним копипастой сразу много файлов создать заранее отредактированных и также в том, что тестирую все на том же сервере где и рабочий сайт, но на тестовом домене и на хостинге такие настройки, не все файлы через панель хостинга можно редактировать, некоторые приходится скачивать, редактировать и заливать назад, что очень неудобно, также у меня разные пароли для разных сайтов для SSH и ftp и чтобы хотя бы в ftp лишний раз не скакать (хотя наверное есть какие-то средства типа маскарада и для ftp, просто я не использую пока), так вот чтобы не скакать стараюсь делать все через SSH в командной строке.
http://www.openvim.com
https://eax.me/vim-commands/
Очень удобно, спасибо. Мне кстати и по git похожий встречался тренажер, а встречались ли Вам такие же хорошие по php тренажеры?
Смотрю внимательнее, точнее здесь, наверное, просто справочник в стиле vim с небольшим интерактивом, а я имею ввиду с большим количеством интерактивных заданий тренажер (хотя по тренажерам лучше? отдельую тему сделать).
Лучший тренажер - открытый файловый редактор, включенный интерпретатор и здоровая фантазия.