Dewdrop

Dewdrop makes writing complex WordPress plugins simpler by providing a sensible project layout and developer tools. This supplements the API documentation with specific use cases and references to other projects.

Notable usages of Dewdrop in Delta projects are listed below with additional project-specific information.

  1. DoGooder: Silex and PostgreSQL
  2. Emery Sapp and Sons: WordPress Multisite theme and plugin with graphical data reporting on heterogeneous systems using FusionCharts and extended authorization rules using the Members plugin
  3. Glowforge: WordPress theme and plugin with crowdfunding e-commerce support for PayPal and Stripe
  4. Grad Center (aka GROUP10): Silex and PostgreSQL e-commerce support for USAePay and order entry automation with Selenium
  5. IRE: DeltaZend application running against MySQL within WordPress plugin
  6. TitleNet: DeltaZend application that uses Dewdrop's dbdeploy CLI command for applying database change sets
  7. Total Care Health: Silex and PostgreSQL phone and video telemedicine support for Twilio and OpenTok by TokBox

This section documents how to achieve functionality commonly needed in client projects.

#AJAX Endpoint with Activity Log, CSRF Protection, and Instant Notification with ZMQ

Example in Total Care Health

#CLI Command Trait with Time and Memory Measurement

Example measured CLI command trait from IRE

#CSV Export using Bulk Action API

Example in Group10/GradCenter

#Date Interval Formatting

PHP's DateInterval can end up with unexpectedly negative property values in some overflow cases, such as the following:

Example view helper in Total Care Health that prevents such display of negative values in a date interval

#English Language Inflection Utilities

Convert singular to plural and vice-versa, use camelCase or under_scores, and perform a host of other English language functions with \Dewdrop\Inflector

#Escape Output with View Methods

Various methods are available via \Dewdrop\View\View for escaping output

#Field Templates

Filtering reference column fields in Total Care Health

#File Uploads

Example usage of InputFile view helper and file upload handler in DoGooder

#Get a Copy of All Emails Sent with Silex SwiftmailerServiceProvider

Example in Total Care Health

#Perform Local HTTP Request with Silex

Example in Total Care Health

#Shortcode Parsing

Used for Dewdrop Activity Log

#Silex Middleware and Service Provider

Example in Total Care Health

#Gracefully validating unique constraints

This API requires at least Dewdrop 1.33.0.

When your database defines a UNIQUE constraint, it's important to catch violations of that constraint in your application so that users aren't confronted with inscrutable error pages when the database throws an exception. Dewdrop provides an easy to use API for this situation. You'll typically use this API in the init() method of your model classes.