За последние 24 часа нас посетили 21958 программистов и 1158 роботов. Сейчас ищут 842 программиста ...

CRUD в шаблонах и блупринтах

Тема в разделе "PHP для профи", создана пользователем Awilum, 27 май 2021.

Метки:
  1. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    325
    Симпатии:
    26
    Адрес:
    Earth
    Когда-то я поднимал вопрос - можно ли - красиво ли в шаблонах делать Read (Fetch) данных и я ограничился лишь Read (Fetch) в шаблонах как например у вот этих хайповых чуваков в Craft CMS, Grav CMS… когда есть вот такое в шаблонах, и все “довольны в комьюнити” от удобства и простоты, ну я у себя сделал также в проекте как это в Craft CMS https://craftcms.com/docs/3.x/element-queries.html - позволили делать Read (Fetch)

    Полноценный CRUD (Create Read Update Delete) позволить юзерам делать в шаблонах чего то мне религия наверное не позволяет, ибо Create Update Delete позволить делать в шаблонах это наверное уже зашквар и простого Read уже достаточно.

    Но я вот последние месяцы работаю над YAML Blueprints функционалом для своего проекта который позволяет делать кастомную админку и сейчас я дошел до того момента когда появился у меня Read (Fetch) в блупринтах (его кстати давно просили добавить, например для того что бы загружать данные по АПИ в инпут Select или другой инпут), и вот я смотрю как различные ребята это делают для себя и вижу что они в YAML описывают полноценный CRUD (Create Read Update Delete) а не только Read и как бы им норм и комьюнити наверное тоже норм.

    Вот примеры:
    для node js http://lowdefy.com
    для laravel https://blueprint.laravelshift.com
    ну и грав Create и Read как бы тоже допускает в своих блупринтах

    Вот я снова задаюсь вопросом разрешить ли полноценный CRUD в шаблонах так и в блупринтах и не делать каких либо ограничений для шаблонов на выполнение CRUD? И не парится на счет того что вектор атаки на сайт будет через шаблоны кроме конечно тех случаев когда человек сам выполнил опасные CRUD операции в шаблоне. Ну и конечно доверять дизайнерам шаблонов, на тот счет что они не предоставят потенциально опасный код в шаблоне, например удаляющий записи или добавляющих их.

    в сообществе ларке с их блейдом так вообще голый похапе пишут в шаблонах, да твиг этого по умолчанию конечно же не допускает…
     
    #1 Awilum, 27 май 2021
    Последнее редактирование: 27 май 2021
  2. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    Блюпринты != шаблоны, в последних бы и Read не допускал, требуя спуска данных из PHP, IMHO.
     
    Walk нравится это.
  3. Awilum

    Awilum Активный пользователь

    С нами с:
    15 ноя 2009
    Сообщения:
    325
    Симпатии:
    26
    Адрес:
    Earth
    Да, Блупринты - это чертежи или это схемы.
    Я так начинал делать Блупринты для своего проекта изначально - это некая схема (конфиг) для генерации UI админки, но в процессе работы над блупринтами и знакомством и разбором этих примеров,

    для node js http://lowdefy.com
    для laravel https://blueprint.laravelshift.com

    я вижу что народ с помощью блупринтов не только UI генерирует но и полноценный CRUD

    Сейчас я думаю, а что если блупринты - это действительно не просто шаблоны и не просто схемы для генерации того же UI, но для описания более сложных вещей таких как CRUD например - ведь это возможно и такие рутинные CRUD операции могут быть простым языком описаны в блупринте.

    Если смотреть с точки зрения ролей, то это может выглядеть так:
    Просмотр контента доступен для Юзера, Дизайнера, Админа
    Редактирование контента доступно для Дизайнера, Админа
    Редактирование шаблонов доступно для Дизайнера, Админа
    Редактирование блупринтов доступно для Админа