Я должен сделать некоторые запросы к базе данных с PHP в базе данных MySQL.
Вопрос: Какая самая лучшая (самая простая) структура для того, чтобы все было сделано правильно CRUD (Create Read Update Delete)?
Я также должен заполнить базу данных, что является хорошим инструментом для этого. Единственный, кого я знаю, это SqlMyAdmin, который выглядит не очень хорошо. Онлайн-инструмент был бы замечательным.
Ваш опыт ценен: скажите мне, что вы используете и почему?
Я взглянул на CodeIgniter, выглядит красиво, как вы думаете … overkill?
Для многих операций (особенно CRUD, которые работают из коробки после того, как вы написали файлы схемы), ORM Framework Doctrine действительно отличная.
Если вы хотите пойти дальше, чем просто доступ к БД, вы можете взглянуть на PHP FRamework symfony , который предоставляет генератор администратора (есть даже скринкаст об этом ). (И имеет отличную документацию, такую как учебник jobeet ) (BTW, symfony использует Doctrine как ORM ^^)
Но, возможно, это немного переборщило (и требует слишком большой кривой обучения), если вам нужно что-то простое …
Чтобы загрузить данные в MySQL, как насчет LOAD DATA INFILE , который (цитата из документов) «читает строки из текстового файла в таблицу с очень высокой скоростью».
Я рекомендую GroceryCRUD из-за хорошей инженерии и документации
=> Вы получаете разбитую таблицу JqueryUI с кнопками create / edit / delete.
create / edit открывает страницу формы на основе схемы таблицы MySQL. Например, логическое, varchar и текст превращаются в форму с активными / неактивными кнопками, текстовым полем и редактором wysiwyg html.
Примечание. GroceryCRUD построен на CodeIgniter, поэтому у вас будет копия, живущая в вашем каталоге администратора. Вам не нужно использовать его для создания вашего основного сайта.
Рекомендации по безопасности. Любая библиотека может иметь неоткрытые уязвимости безопасности, поэтому рекомендуется минимизировать воздействие, защищая вашу копию GroceryCRUD с помощью BaseAuth и разрешая только доступ к SSL.
Я бы повторил комментарий Pascal re Symfony (я бы поднял, но не хватило кредита :-() – у Symfony отличный генератор администратора, и как только вы пойдете вокруг концепции app-> module-> actions, это просто и документация является фантастическим, даже если его иногда легче искать в Google 😉
В противном случае CakePHP теперь намного лучше, чем раньше, и вы можете начать с минимума суеты, особенно с помощью их лесов, которые помогут вам создать базовую установку в стиле CRUD. Их документация также довольно удивительна и очень проста для чтения 🙂
Если такие решения, как Doctrine, CAKE, CodeIgniter и т. Д., Кажутся излишними для того, что вы пытаетесь сделать, я бы порекомендовал однострочный PHP-скрипт, который я построил, который позволяет вам иерархические данные CRUD в MySQL:
http://coding.pressbin.com/109/PHP-One-file-CRUD-front-end-for-hierarchical-MySQL-data/
Почему бы вам не попытаться закодировать его с нуля, поскольку CRUD является общей задачей программирования. Есть много хороших учебников:
1> PHP PDO + Bootstrap Twitter: http://www.lizardgrid.com/blog/php-crud-tutorial-part-1/
2> JQuery + PHP: http://www.codeofaninja.com/2013/05/crud-with-php-jquery.html
В настоящее время я тестирую JqGrid (JQuery Table Library).
Я пробовал Grocery CRUD : выглядит красиво, но его тема Datatables (с возможностью фильтрации столбцов) не будет работать с обработкой на стороне сервера, поэтому я ее бросил.
Вы можете взглянуть на Cygnite Framework
Он выполняет базовое генерирование кода. Контроллер, модель, виды, макет, разбиение на страницы, компонент формы, обязательная проверка поля, с шаблоном бутстрапа и т. Д. Все это генерируется с помощью простой команды. Вы можете изменить код, исходя из ваших потребностей.
Вот учебник- Generate CRUD-приложение в течение 2 мин.
Стоит посмотреть.
Я бы сказал, что это полностью зависит от того, что вам нужно делать.
Вы знаете phpMyAdmin , не так ли? Вы можете импортировать из большого количества форматов с помощью этого инструмента.
Или вы хотите разработать приложение с простыми CRUD-операциями? Тогда правильная вещь, например, для Symfony или Zend Framework .
Я разработал этот скрипт, который обращает инженеров из базы данных MySQL набор хранимых процедур, которые перечисляют все строки таблицы, одну строку на основе первичного ключа, обновляет / вставляет на основе первичного ключа и удаляет на основе первичного ключа. Предполагается, что у вас уже созданы ваши таблицы с настройкой первичных ключей для каждой таблицы, и он генерирует для вас хранимые процедуры MySQL. Я обнаружил, что это более эффективно, чем аналогичные типы решений, разработанных в PHP.
Что-то вроде http://www.notorm.com/ может быть более подходящим, чем Symfony. Хотя я люблю Symfony и использовал его для большого эффекта, это не просто.
Аналогично с Codeignitor я бы сказал, что любая полная структура стека (Laravel, Zend, Wii и т. Д.) Не соответствовала бы «простой».