Как перестать тратить время на PHP


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

Что вы делаете, чтобы избежать смертельной ловушки бесконечной проверки входных данных и построения взаимодействий с базой данных? Делать вы используете стороннюю библиотеку? Написать свою собственную библиотеку? Или это просто так?

Author: Brian Bauman, 2010-10-27

3 answers

Большинство людей абстрагируются от многих операций проверки формы и транзакций с базой данных, используя какую-либо структуру. Одним из примеров является Zend framework Формы . Я видел, как люди пишут свои собственные библиотеки, чтобы добавить аналогичную функциональность.

Например, я также написал свою собственную простую библиотеку для небольших клиентов (просто создав для каждого элемента формы собственный класс с базовым базовым классом "элемент"), набор классов проверки и класс формы для упаковки элементов. Форма класс вызывает методы проверки для каждого элемента и преобразует их данные в массив, который может быть передан в класс базы данных.

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

 8
Author: GWW, 2010-10-26 22:35:22

Если вы не используете фреймворк (или не можете), то вам обязательно следует ознакомиться с методами фильтрации 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, в частности, делает все это до смешного простым.

 2
Author: Horatio Alderaan, 2010-10-26 23:02:33

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

 1
Author: tamasd, 2010-10-26 22:29:22