As WordPress agency, we develop various projects for our clients, from medium-sized websites or e-commerce shops up to high-scaled multilingual projects on an enterprise level. We learned a lot of lessons in the last years on how to set up a technological environment that allows us to develop fast and maintainable high-scale websites. The following packages help us to set up a structural base for our projects and thus to work more efficiently ‒ and we hope they help you too.
Who’s it for?
Our packages are available on GitHub as a contribution to the WordPress open source community. We want to provide the information to everybody who is interested. But it will have the biggest benefit for agencies and developers.
Do you need help to use our packages?
WP App Container: Dependency Injection Container for WordPress Websites
The WP App Container consists of a DI Container for WordPress and related tools to be used at application, i.e. website, level. This is our basis to set up a whole website architecture by providing a PSR-11 Dependency Injection Container. It allows to register ServiceProviders and Packages. It also provides additional features like resolving directories and URLs for plugins, themes and to the vendor folder as well as access to environment variables and configurations.
Composer Asset Compiler: Composer Plugin to Compile Assets and Install Dependencies
VIP Composer Plugin: VIP Go Compatible Local Environments and VIP Go Platform Deployment Tool
This package is a Composer Plugin for website projects to be deployed on the VIP Go platform. It provides a CLI command that facilitates the setup of a VIP Go compatible local environment based on Composer and simplifies the automatic deployment of VIP Go projects via continuous integration services.
Inpsyde Assets: Composer Package for Object-Oriented WordPress Development
Inpsyde Assets is a Composer Package that allows working with WordPress scripts and styles in an object-oriented way. Additionally, it provides several features:
- automatic version resolution based on file time
- different asset loaders like Webpack manifest.json or Encore entrypoints.json
- OutputFilter to print scripts/styles asynchronous, inline or deferred
WordPress Translation Downloader: Composer Plugin to Download WordPress.org API & GlotPress Translation Files
This is a Composer Plugin to download translations from the WordPress.org API for Plugins, Themes & WordPress Core Packages. You can also use a custom GlotPress installation to download translations files (.po/.mo) for Plugins, Themes or Packages which are private or not listed on WordPress.org. The configuration happens via composer.json.
Wonolog: WordPress Logging Library based on Monolog
Wonolog is a Composer Package that provides you with all needed tools for sophisticated logging inside your WordPress application. As the name suggests, Wonolog is based on Monolog. This is the most popular logging library for PHP and it is compatible with the PSR-3 Logger Interface standard. Since Monolog 2.0 has been released in 2019, a v2 version of Wonolog is in the works. By the way: If you know your way around Monolog and you’re interested in bringing WordPress logging back to the latest PHP standards, we could definitely use your help!
WP Stash: WordPress Caching System with Stash
WP Stash is a Composer Plugin that builds a bridge between StashPHP and WP’s object caching drop-in support. For a quick primer on object caching in WordPress, make sure to read this answer on Stack Overflow. With WP Stash, you can enable APCu, Redis, SQLite, Memcached and Filesystem caches, stampede protection and group invalidation ‒ depending on your needs and your hosting environment. To make configuration even easier, WP Stash works out of the box when required inside your WP Starter project.
More use cases and examples, as well as installation notes, can be found in the readme of each GitHub repository. Please send us your feedback, bug reports and pull requests via GitHub.