| Current File : /home/digitaw/www/wp-content/plugins/event-tickets/src/Tribe/Events/Views/V2/Service_Provider.php |
<?php
namespace Tribe\Tickets\Events\Views\V2;
/**
* The main service provider for Event Tickets support and additions to the Views V2 functions.
*
* @since 4.10.9
* @package Tribe\Tickets\Events\Views\V2
*/
class Service_Provider extends \TEC\Common\Contracts\Service_Provider {
/**
* Binds and sets up implementations.
*
* @since 4.10.9
*/
public function register() {
require_once tribe( 'tickets.main' )->plugin_path . 'src/functions/views/provider.php';
add_action( 'tribe_events_bound_implementations', [ $this, 'register_hooks' ] );
// Register the SP on the container
$this->container->singleton( 'tickets.views.v2.provider', $this );
$this->container->singleton( static::class, $this );
}
/**
* Registers the provider handling all the 1st level filters and actions for Views v2.
*
* @since 4.10.9
*/
public function register_hooks() {
if ( ! tribe_events_tickets_views_v2_is_enabled() ) {
return;
}
$hooks = new Hooks( $this->container );
$hooks->register();
// Allow Hooks to be removed, by having the them registred to the container
$this->container->singleton( Hooks::class, $hooks );
$this->container->singleton( 'tickets.views.v2.hooks', $hooks );
}
}