Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Быстрое создание CRUD-интерфейса на PHP с помощью продвинутого инструмента генерации CRUD c использованием PDO

by
Difficulty:BeginnerLength:MediumLanguages:

Russian (Pусский) translation by Alexey Pyltsyn (you can also view the original English article)

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

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

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

Он работает с несколькими базами данных, включая MySQL, Postgres и SQLite. В этой статье мы увидим, как использовать PDO CRUD для построения CRUD-системы с серверной частью базы данных MySQL.

Установка и настройка

В этом разделе мы увидим, как установить и настроить инструмент PDO CRUD после того, как вы приобрели его и скачали из CodeCanyon.

Как только вы купите его, вы сможете скачать zip-файл. Распакуйте его и найдите директорию с основным кодом плагина: PDOCrud/script. Скопируйте эту директорию в ваше PHP-приложение.

Например если ваш проект настроен на /web/demo-app/public_html, то вам следует скопировать скрипт в директорию /web/demo-app/public_html/script.

Далее вам нужно ввести данные базы данных в файле конфигурации. Файл конфигурации доступен по пути /web/demo-app/public_html/script/config/config.php. Откройте этот файл в вашем любимом текстовом редакторе и измените следующие данные в данном файле.

Как вы можете видеть, содержимое файла говорит само за себя. $config["script_url"] устанавливает URL-адрес, который вы используете для доступа к сайту.

После того как вы сохранили сведения о базе данных, вы будете готовы использовать инструмент PDO CRUD. В нашем примере мы создадим две таблицы MySQL, которые содержат данные о сотрудниках и отделах.

  • сотрудники: содержит сведения о сотруднике
  • отдел: содержит информацию об отделе

Откройте инструмент управления вашей базы данных и выполните следующие команды для создания таблиц, которые мы только что обсуждали выше. Я использовал PhpMyAdmin для работы с базой данных MySQL.

Во-первых, давайте создадим таблицу department.

Далее мы создадим таблицу employee.

Как вы можете видеть, мы использовали столбец dept_id в таблице employee, который содержит идентификатор соответствующего отдела, хранящегося в таблице отдела.

После того как вы создали таблицы в вашей базе данных, мы готовы создать интерфейс приложения CRUD, используя инструмент PDO CRUD!

Как настроить простой CRUD

В этом разделе мы увидим, как можно настроить базовый интерфейс CRUD, используя инструмент PDO CRUD, написав всего несколько строк кода.

Таблица отделов

Мы начнем с таблицей отделов.

Давайте создадим department.php со следующим содержимым. Если ваша корневая директория /web/demo-app/public_html/, создайте файл department.php по пути /web/demo-app/public_html/department.php. Напоминаем, что мы уже скопировали директорию скрипта /web/demo-app/public_html/script.

И теперь, если вы обратитесь в своем браузере к файлу department.php, вы увидите что-то вроде этого:

Blank Department View

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

  • поиск
  • встроенную навигацию по страницам
  • печать
  • экспорт записей в формате CSV, PDF или Excel
  • массовая операция удаления
  • сортировка по столбцам

Нажмите на кнопку Add на правой стороне, и она откроет форму для добавления записи в таблицу отделов.

Add View

Добавим несколько записей, с помощью кнопки Add и посмотрим, как это выглядит.

List View

Как вы можете видеть, это очень легкий и изящный интерфейс. Почти без усилий мы создали CRUD для модели отделов! Далее мы увидим, как сделать то же самое для таблицы сотрудников.

Таблица сотрудников

В этом разделе мы увидим, как создать CRUD для таблицы сотрудников. Давайте создадим employee.php со следующим содержимым.

Это в значительной степени тот же код, что и в прошлый раз; нам просто нужно изменить имя таблицы. Если вы нажмете на кнопку Add, вы также увидите красивую форму, позволяющую добавлять записи сотрудников.

Add Employee

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

В этом коде мы получили доступ к таблице department через PDO CRUD, так что мы можно связать название отдела с идентификатором отдела. Затем мы обновили параметры привязки для поля идентификатора отдела, так что он будет отображаться в виде раскрывающегося списка (select).

Теперь нажмите на кнопку Add, чтобы увидеть, как она выглядит! Вы должны увидеть, что теперь поле Dept Id превращается в раскрывающийся список!

Drop-down Demo

Добавим несколько записей о сотрудниках и посмотрим, как выглядит список сотрудников:

Employee View

Это выглядит красиво! Но у нас здесь есть одна небольшая проблема: вы можете видеть, что в столбце Dept id показывается идентификатор отдела, и было бы неплохо, чтобы вместо этого отобразить имя отдела. Давайте выясним, как этого добиться!

Давайте приведем код в employee.php согласно следующему содержимому.

Здесь мы создали соединение между таблицами сотрудников и отделов с помощью $pdocrud->joinTable, а затем указали PDO CRUD отображать только имя сотрудника, название отдела и контактную информацию, использу строчку кода $pdocrud->crudTableCol.

И с этим изменением, список сотрудников должен выглядеть следующим образом:

Employee With Reference

Как вы можете видеть, скрипт PDO CRUD является довольно гибким и позволяет вам все возможные варианты для настройки пользовательского интерфейса.

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

Варианты настройки

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

Встроенное редактирование

Встроенное редактирование является одним из наиболее важной возможностей, позволяя вам редактировать запись быстро на самой странице списка. Давайте посмотрим, как включить его на странице списка отделов.

Давайте внесем изменения в скрипт department.php, как показано в следующем фрагменте кода.

Как вы можете видеть, мы включили только настройку inlineEditbtn, и возможность встроенного редактирования уже работает!

Inline Editing

Это действительно полезная возможность, которая позволяет редактировать записи на лету!

Фильтры

Как вы могли заметить, на странице списка отделов уже есть поиск для фильтрации записей. Тем не менее, вы можете добавить свои собственные фильтры для улучшения функции поиска. Именно это и обеспечивает опция Filters, поскольку она позволяет создавать собственные фильтры!

Мы будем использовать employee.php для этой функции, поскольку это идеальный демонстрационный вариант использования. На странице списка сотрудников мы показываем название отдела для каждой записи сотрудника, поэтому давайте создадим фильтр отдела, который позволит вам фильтровать записи по названию отдела.

Идите дальше и исправьте файл employee.php, как показано в следующем фрагменте.

Мы только что добавили две строки с вызовами addFilter и setFilterSource, и после этого список сотрудников выглядит следующим образом:

Filters

Разве это не круто? Всего двумя строчками кода вы добавили свой пользовательский фильтр!

Загрузка изображений

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

Я предполагаю, что у вас есть поле profile_image в таблице сотрудников, и что вы готовы преобразовать его в поле для отправки файла!

Вот и все! Пользователи теперь смогут загрузить изображение в поле profile_image.

Капча

В настоящее время если вы хотите сберечь свой сайт от спама, проверка CAPTCHA является важной особенностью. Инструмент PDO CRUD уже предоставляет несколько вариантов на выбор.

Он предоставляет две опции: CAPTCHA и ReCAPTCHA. Если вы выбираете опцию CAPTCHA, она представляет собой математическую головоломку, которую должен решить пользователь. С другой стороны, если вы выберете опцию ReCAPTCHA, она представит знаменитую головоломку в стиле I’m not a robot!

Если вы хотите добавить простой пазл CAPTCHA, вам нужно добавить следующую строчку перед тем, как отображать CRUD.

С другой стороны если вы предпочитаете ReCAPTCHA, вы можете добиться того же результа, используя следующий фрагмент.

Вам просто нужно заменить аргументы your-site-key и site-secret на действительные учетные данные от Google.

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

Темы оформления

Если вам не нравится тема оформления по умолчанию, у вас есть несколько вариантов на выбор. Инструмент PDO CRUD предоставляет темные, светлые, зеленые и продвинутые темы оформления в качестве доступных опций.

Например, следующий список основан на зеленой теме.

Green Theme

Это выглядит красиво, не такли?

Чистый Bootstrap

Хотя тема оформления по умолчанию уже поддерживает адаптивные макеты, инструмент PDO CRUD также поддерживает интеграцию с библиотекой Bootstrap!

Вам нужно использовать следующий фрагмент, если вы хотите построить макет с помощью библиотеки Bootstrap.

И вот как это выглядит:

Bootstrap Theme

Заключение

Сегодня мы рассмотрели продвинутый построитель форм базы данных PDO CRUD и инструмент управления данными, доступный для покупки на CodeCanyon. По сути, это инструмент для построения интерфейса приложений CRUD. Он предоставляет множество вариантов настройки, охватывающих практически все, что требуется системе CRUD.

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

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

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

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.