Vulnero is a WordPress plugin that transforms WordPress into an object-oriented CMS by implementing a Zend Framework application that interfaces with its API.
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
WordPress and Zend Framework Integration with Vulnero
1. Vulnero
Introducing a Zend Framework library that
allows you develop applications on top of
WordPress.
By Andrew Kandels
2. 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.
3. Why We Want WordPress.
Because it’s documented, has a vast community, and is extendible.
4. It can be difficult.
Plugins typically have …
• Global and procedural functions
• Lots of ugly, deprecated code
• Bias toward simplicity
5. 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.
6. What do I need Vulnero for?
require_once ‘Zend/Application/Bootstrap/Bootstrap.php’;
vs
7. Share Common Resources.
Routing Requests Add your own routes (/myapp)
Layouts Render views in WordPress themes with
widgets and menus
Configuration Shared configuration
Caching Cache expensive work
Database Leverage the WordPress MySQL DB
Authentication Authentication and access control using
WordPress sessions and user records
You don’t have to use the WordPress API to build on WordPress.
8. Add your own routes.
myapp.type = Zend_Controller_Router_Route
myapp.route = myapp/:controller/:action
myapp.defaults.module = default
myapp.defaults.controller = index
myapp.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.
9. 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).
13. 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.
14. 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.