Как перестать тратить время на PHP
Как программист, я люблю разрабатывать алгоритмы. Я люблю брать проблему и разрабатывать чистое, эффективное, читаемое, элегантное решение. Однако я, похоже, нахожу, что большая часть моего времени уходит на проверку и очистку данных формы и передачу их для подготовки различных инструкций SQL. Возможно, это "просто так", но я подозреваю, что, возможно, делаю это неправильно.
Что вы делаете, чтобы избежать смертельной ловушки бесконечной проверки входных данных и построения взаимодействий с базой данных? Делать вы используете стороннюю библиотеку? Написать свою собственную библиотеку? Или это просто так?
3 answers
Большинство людей абстрагируются от многих операций проверки формы и транзакций с базой данных, используя какую-либо структуру. Одним из примеров является Zend framework Формы . Я видел, как люди пишут свои собственные библиотеки, чтобы добавить аналогичную функциональность.
Например, я также написал свою собственную простую библиотеку для небольших клиентов (просто создав для каждого элемента формы собственный класс с базовым базовым классом "элемент"), набор классов проверки и класс формы для упаковки элементов. Форма класс вызывает методы проверки для каждого элемента и преобразует их данные в массив, который может быть передан в класс базы данных.
Вам лучше всего выяснить потребности в веб-сайтах и формах, которые вы создаете. (Сложные формы могут быть слишком сложными для абстрагирования). Но в простых формах процесс кодирования может быть выстроен без особых трудностей.
Если вы не используете фреймворк (или не можете), то вам обязательно следует ознакомиться с методами фильтрации php: http://php.net/manual/en/book .filter.php
Они встроены в PHP 5.2
Мне еще предстоит увидеть хорошее извлечение БД за пределами фреймворка, но уровень абстракции PDO - хорошее начало (http://php.net/manual/en/book.pdo.php )
P.S. Я тоже использую Drupal, когда могу. Модуль webform, в частности, делает все это до смешного простым.
Для этого я использую Drupal, но вы можете предпочесть использовать какой-нибудь фреймворк.