for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* YIKES Inc. Easy Mailchimp Forms Plugin.
*
* @package YIKES\EasyForms
* @author Freddie Mixell
* @license GPL2
*/
namespace YIKES\EasyForms;
use YIKES\EasyForms\PluginHelper;
use YIKES\EasyForms\Shortcode\EasyFormsShortcode;
use YIKES\EasyForms\Util\Debugger;
use YIKES\EasyForms\Recaptcha\Recaptcha;
* Class PluginFactory
* @since %VERSION%
final class PluginFactory {
use PluginHelper;
* Create and return an instance of the plugin.
* This always returns a shared instance.
* @return Plugin The plugin instance.
public function create() {
static $plugin = null;
if ( null === $plugin ) {
$plugin = new Plugin( $this->get_service_container() );
}
return $plugin;
* Get the service container for our class.
* @return Container
private function get_service_container() {
$services = new Container();
// Start Debugging
$services->add_service( Debugger::class );
// Register Shortcode
$services->add_service( EasyFormsShortcode::class );
// Register Recaptcha
$services->add_service( Recaptcha::class );
return $services;