Vulnero
Introducing a Zend Framework library that allows you develop applications on top of
WordPress.
By Andrew Kandels
Why They Want WordPress.
Like it or not,When your (boss|client|friend) needs a (blog|website), they’re probably going to ask about WordPress.
Why We Want WordPress.
Because it’s documented, has a vast community, and is extendible.
It can be difficult.
Plugins typically have …
• Global and procedural functions
• Lots of ugly, deprecated code
• Bias toward simplicity
The Benefits of Using a Framework.
• More secure, reliable applications
• APIs to vendors like Google and Amazon
• Supports popular Web 2.0 functionality
• Familiar to other developers
• Benefit from the community
Saves time.
What do I need Vulnero for?
require_once ‘Zend/Application/Bootstrap/Bootstrap.php’;
vs
Share Common Resources.
Routing Requests
Layouts
Configuration
Caching
Database
Authentication
Add your own routes (/myapp)
Render views in WordPress themes with widgets and menus
Shared configuration
Cache expensive work
Leverage the WordPress MySQL DB
Authentication and access control using WordPress sessions and user records
You don’t have to use the WordPress API to build on WordPress.
Add your own routes.
myapp.type = Zend_Controller_Router_Routemyapp.route = myapp/:controller/:actionmyapp.defaults.module = defaultmyapp.defaults.controller = indexmyapp.defaults.action = index
• Application routes take precedence
• Requests that don’t match a route are handled by WordPress
• Matched requests are served through Zend_Application’s controllers
Transparent to users who know controllers, views and routing in the Zend Framework.
Shared Layout.
Duplicate Layouts for your Website/App:
• Takes time and effort• Changes mean double the updates• APIs/code needed to shared content
Using the same layout means:
• Lots of themes for WordPress• Take advantage of plugins• Reuse menus and widgets for content
Your WordPress theme works just like Zend_Layout (more transparency).
Widgets work like Controllers.
Becomes:
Create admin pages the same way.
Becomes:
Store key/value pairs.
Working with the WordPress API.
Vulnero accesses WordPress functionality through a broker class:
• Responses can be standardized
• More object-oriented
• Additional filters/permissions
Opens the door for other CMS integrations… Drupal? Ick, but maybe.
Vulnero can simulate and imitate WordPress.
Responses might be simulated for:
• Unit tests
• Command line scripts
Responses might be imitated for:
• Database migration scripts
• Workers and message queues
• Cronjobs for emails, notifications or background processing
Vulnero can imitate WordPress for bootstrapping the database, caching and stored key/value pairs.
It’s open source. Vulnero 1.01 ready for download.
Links and Resources.
Project Site:
GitHub:
Me:
http://www.vulnero.com
https://github.com/andrew-kandels/vulnero
Andrew Kandelsakandels [at] gmail.com@andrewkandelshttp://andrewkandels.com
Top Related