WordPress and Zend Framework Integration with Vulnero
VulneroIntroducing 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 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 recordsYou 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 controllersTransparent 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 contentUsing 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).
Working with the WordPress API.Vulnero accesses WordPressfunctionality 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 scriptsResponses 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: http://www.vulnero.com GitHub: https://github.com/andrew-kandels/vulnero Me: Andrew Kandels akandels [at] gmail.com @andrewkandels http://andrewkandels.com