✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Создание CRUD-системы в WordPress — Плагин таблиц wpDataTables

114

Эта статья о создании CRUD-системы в WordPress была опубликована еще в 2014 году. Однако мы заметили, что эта тема стала еще более актуальной, поэтому решили взглянуть на нее по-новому.

Что такое CRUD-система, как интегрировать CRUD-систему для MySQL на свой сайт WordPress, каковы плюсы и минусы использования разных подходов?

Что такое CRUD-система?

Аббревиатура CRUD происходит от Create, Read, Update, D elete. Что, другими словами, означает систему управления данными. В Интернете это, скорее всего, будет означать часть программного обеспечения, которое управляет записями в вашей базе данных. Обычно это относится к MySQL, PostgreSQL, MS SQL или другим механизмам БД.

Отличный и, пожалуй, самый популярный пример CRUD-системы — phpMyAdmin. PHPMyAdmin — это инструмент, который используется почти каждым веб-разработчиком для онлайн-управления данными MySQL. Он получил настолько широкое распространение, что в настоящее время его можно назвать стандартным инструментом для управления базами данных MySQL. В настоящее время он предустановлен практически на любом инструменте CPanel у хостинг-провайдеров.

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

Зачем вам нужна система CRUD в WordPress?

WordPress сам по себе является мощной CMS (системой управления контентом), которая также является частным случаем системы CRUD. Как вы знаете, пользователи сайта WordPress могут добавлять записи и страницы, редактировать или удалять их. Но иногда вы сталкиваетесь с ситуацией, когда вам нужно управлять некоторыми данными базы данных непосредственно из внешнего интерфейса WordPress, которые обычно не публикуются или не связаны со страницей и не вписываются в таксономии WordPress. Среди прочего, это может быть одна из следующих ситуаций, когда вам понадобится независимая система CRUD в WordPress:

  • Вы хотели бы иметь на своем сайте WordPress средство отслеживания ошибок, журнал записей или какой-либо другой инструмент ввода данных;
  • Или, например, вы хотите разрешить некоторым пользователям редактировать некоторые бизнес-данные из внешнего интерфейса вашего сайта, не предоставляя им доступ к панели администратора сайта WordPress или, возможно, даже не раскрывая тот факт, что сайт работает на WordPress;
  • Другой пример — требование разрешить некоторым пользователям редактировать таблицу БД. Например, изменить размещенный заказ, отредактировать некоторые личные данные и т. д.

И подобные запросы.

Как интегрировать CRUD-систему на сайт WordPress?

Самое простое решение — попробовать найти подходящий плагин

Во-первых, убедитесь, что он вам действительно нужен. Многие из задач не уникальны, и вы, вероятно, сможете найти плагин, который будет соответствовать вашим потребностям. Например, если вам нужен баг-трекер, как упоминалось выше, вы можете проверить и скачать этот или этот.

А если вам нужно что-то более общее, например, редактирование различных таблиц MySQL из внешнего интерфейса WordPress, попробуйте наш плагин wpDataTables, который по сути представляет собой систему CRUD в WordPress. Вы можете увидеть список функций и примеры того, как это работает здесь. Или даже попробуйте бесплатную версию Lite в репозитории плагинов WordPress.

Стоит отметить, что wpDataTables не накладывает никаких ограничений на структуру данных, количество столбцов или строк, поддерживает множество типов данных и различные типы ввода редактора. Например, некоторые определенные типы, такие как вложения или DateTime. Кроме того, он позволяет редактировать данные с помощью всплывающего редактора форм, встроенного редактора или даже редактора электронных таблиц, подобного Excel.

Если вы все еще чувствуете, что вам нужно создать собственную систему CRUD в WordPress, вам следует подготовиться к серьезному кодированию, чтобы это сделать.

Запустите новый плагин WordPress

Если вы считаете, что ни один плагин не соответствует вашим потребностям, создайте свой собственный! Возможно, это не так страшно, как кажется на первый взгляд. Начните с прочтения этого замечательного руководства по созданию плагина WordPress с нуля. И, конечно же, это в WordPress Codex.

Первый начальный шаг при создании любого плагина, включая систему CRUD в плагине WordPress, — правильно структурировать файлы.
Обычный подход состоит в том, чтобы поместить основной файл точки входа CRUD в корневой каталог плагина и подготовить несколько подпапок:

  • Активы — все javascript, таблицы стилей, шрифты, изображения и другие статические активы, которые будут необходимы для вашей системы CRUD;
  • Source — папка для «основных» классов PHP, которые будут выполнять всю функциональность CRUD в бэкенде;
  • Lib — папка для любых сторонних компонентов, которые вы, возможно, захотите использовать в своей CRUD-системе;
  • Шаблоны — папка для шаблонов HTML, которые будут пользовательским интерфейсом для вашей системы CRUD.

Их может быть больше (контроллеры, обработчики шорткодов и другие) — но это минимум для начала.

Создать серверную часть редактора (классы PHP)

Прежде всего, вам понадобится внутренняя часть: PHP-скрипт, который фактически будет выполнять задания CRUD. Для этого вам нужно подключить его к базе данных WordPress (глобальный объект $wpdb). Здесь вы можете прочитать хороший учебник об использовании базы данных WordPress и объекта $wpdb в ваших плагинах.

Если вы используете внешнюю БД, вам нужно будет, например, использовать отдельное соединение PDO или только встроенные функции PHP MySQLi (если ваш движок БД – MySQL).

Ваша задача на этом шаге — подготовить набор классов и методов, которые будут принимать данные от внешнего интерфейса в некоторой ожидаемой форме, проверять и очищать их (санация всего ввода — очень важная мера безопасности для всех CRUD-систем) и выполнять действия INSERT, UPDATE и DELETE в вашей базе данных.

Как описано на предыдущем шаге, эти «основные» файлы будут принадлежать «исходной» папке вашего нового плагина CRUD WordPress.

Создать внешний интерфейс (HTML, JS, PHP)

Когда классы и методы управления базой данных будут готовы, вашему плагину потребуется внешний интерфейс, чтобы пользователь мог работать с вашей новой системой CRUD в WordPress. Лучшим решением будет подготовить набор шаблонов в ваших новых файлах плагина и выводить его там, где вам нужно с помощью шорткода.

Имеет смысл всегда отделять HTML-шаблоны от кода (подход MVC) и готовить логически разделенные файлы шаблонов, например: «edit.tpl.php», «delete.tpl.php», «list.tpl.php». », и т. д. — шаблон для каждой CRUD-страницы или действия.

Здесь вы можете прочитать отличную статью о WordPress Shortcode API.

Соедините внешний интерфейс с внутренним с помощью вызовов AJAX (JS)

Конечно, вы можете сделать это «в олдскульном стиле», с простой отправкой формы и перезагрузкой страницы. Однако в настоящее время это уже не является распространенным подходом. Вместо этого использование AJAX является стандартным подходом либо через jQuery, либо через другие библиотеки, такие как Angular. Поэтому мы рекомендуем потратить некоторое время и изучить использование AJAX в ваших плагинах WordPress. Вот отличная статья Кодекса о том, как использовать AJAX в ваших плагинах — как на стороне администратора, так и на стороне интерфейса.

Вы можете поместить код JS в папку «assets», которую вы подготовили на первом шаге.

Тестируйте, уточняйте и отлаживайте

Когда часть реализации будет завершена — найдите время и протестируйте свою новую CRUD-систему в WordPress. Вы не можете обнаружить все ошибки с самого начала, но многократное повторение рутинных действий CRUD с разными примерами (предпочтительнее «пограничные» случаи — например, очень большие объемы данных, многократное нажатие одной и той же кнопки и т. д.) всегда поможет вам. чтобы отловить большинство ошибок — а они всегда случаются, когда вы внедряете что-то новое.

CRUD против REST: в чем разница

REST — это архитектурный стиль построения сетевых приложений, основанный на клиент-серверном, кэшируемом протоколе связи без сохранения состояния, т. е. на протоколе HTTP. CRUD — это аббревиатура от CREATE, READ, UPDATE и DELETE, основных функций постоянного хранения в программировании.

Операции CRUD, то есть CREATE, READ, UPDATE, DELETE, аналогичны базовым командам REST, то есть GET, PUT, POST, DELETE, что приводит к путанице между ними. Что такое КРУД? Что такое ОТДЫХ? Что такое определение CRUD в сравнении с REST? Является ли REST простой точной копией CRUD?

Это все очень актуальные вопросы, на которые эта статья намерена подробно ответить!

Как работает ОТДЫХ?

Вы не сможете понять такие термины, как REST API, службы REST, матрица CRUD или база данных CRUD, или программирование REST, если не понимаете разницу между двумя процессами в том, как они работают. Путаница исчезнет, ​​как только вы узнаете эту разницу.

Вы можете работать с REST на любом ресурсе, будь то медиафайл, документ, веб-сайт и т. д. Нет никаких ограничений относительно того, с чем вы можете работать с REST; вы можете использовать HTML только как протокол связи для указания ресурсов. REST означает передачу репрезентативного состояния.

REST указывает, что каждый отдельный URL-адрес представляет собой некий объект, к которому вы можете получить доступ с помощью HTTP GET, а также изменить и удалить его с помощью HTTP POST, PUT или DELETE.

Как работает CRUD?

Вы можете применять CRUD только к записям базы данных, и вы не можете создавать CRUD API, как вы создаете REST API. Приложение CRUD ограничено базами данных, поэтому CRUD, в отличие от REST, представляет собой не архитектурный стиль, а цикл. Все приложения и веб-сайты содержат разные циклы CRUD.

Например, посетитель веб-сайта электронной коммерции может СОЗДАТЬ учетную запись, ОБНОВИТЬ учетную запись, ПРОЧИТАТЬ информацию и УДАЛИТЬ учетную запись. Это полный цикл CRUD, включающий каждую операцию CRUD.

Например, на том же веб-сайте электронной коммерции посетитель может СОЗДАТЬ товар в электронной корзине, а затем завершить полный цикл CRUD, ПРОЧИТАЯ, ОБНОВЛЯЯ и даже УДАЛЯЯ товар.

Основа и принципы REST

Основные команды передачи репрезентативного состояния — аббревиатура REST — вращаются вокруг объекта или ресурса, который можно описать как все, что вы можете раскрыть с помощью протокола HTTP. Примеры ресурсов REST: изображение, веб-сайт, документ, сервис. Небо это предел.

REST — это интерфейс прикладного программирования, или API, или архитектура, предназначенная для распределенного мультимедиа. API — это веб-сервис, который следует принципам архитектуры REST. Таким образом, REST вызывает каждый API с помощью одного из методов HTTP-запроса: GET, PUT, POST и DELETE.

Шесть руководящих принципов архитектуры RESTful

  1. Клиент-серверный мандат

Мандат клиент-сервер подчеркивает тот факт, что REST представляет собой распределенный метод, основанный на характере разделения клиент-сервер. Служба REST влечет за собой несколько возможностей и отвечает на запросы. Клиент делает запросы, а сервер принимает или отклоняет их.

  1. Безгражданство

Создание CRUD-системы в WordPress — Плагин таблиц wpDataTables

Безгражданство ограничивает тип запросов, которые могут быть отправлены между потребителем и сервером. По сути, это запрос, который инициирует связь между клиентом и службой, где запрос содержит всю информацию, необходимую серверу для ответа.

  1. Кэширование

Цель кэширования запроса состоит в том, чтобы никогда не отправлять один и тот же запрос дважды, поскольку кэширование указывает серверу помечать ответы как подлежащие кэшированию или нет. В результате кэширование уменьшает ограничения или ограничения, порождаемые безгражданством.

  1. Единый контракт

Единый контракт исключает использование нескольких независимых интерфейсов внутри интерфейса прикладного программирования или API. REST придерживается принципов единого контракта. Таким образом, один интерфейс REST используется совместно через гипермедиа-соединения.

  1. Многоуровневая система

Многоуровневая система использует несколько независимых уровней для разработки и расширения интерфейса. Поскольку слои не могут видеть друг друга, могут быть вставлены новые запросы и промежуточное ПО, которые не повлияют на исходные команды и работу клиент-сервер.

  1. Необязательно: Код по запросу

В то время как клиент-сервер, кэширование, безгражданство, единый контракт и многоуровневая система являются обязательными для приложений RESTful, Code-On-Demand не является обязательным. Однако Code-on-Demand позволяет логике внутри клиентов оставаться независимой и, таким образом, обновляться отдельно от логики сервера.

Завершение мыслей о CRUD против REST

CRUD влечет за собой основные операции, выполняемые в статическом хранилище данных или базах данных, такие как обработка пассивных записей или объектов. CRUD по существу манипулирует базовыми данными.

REST полагается на представление ресурсов через уникальные URL-адреса, где ресурсы являются абстракциями объектов, где, например, комментарий пользователя может быть ресурсом.

Таким образом, REST влечет за собой больше, чем запись в таблице комментариев. REST касается связи записи с пользовательским ресурсом и публикацией/комментарием, к которому она прикреплена. REST — это стиль API очень высокого уровня, который взаимодействует со сложной системой.


Конечно, эта статья не была полным учебником, так как на его написание ушло бы двадцать страниц. Но дайте нам знать, если у вас есть вопросы или вы хотите увидеть конкретный пошаговый пример, и мы создадим его для вас.

Мы надеемся, что это было полезно в некотором роде.

Спасибо за чтение!

Источник изображения: http://www.tyseo.net

Источник записи: wpdatatables.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее