-
Notifications
You must be signed in to change notification settings - Fork 18
Add a service
Julien MA Jacob edited this page Oct 22, 2018
·
2 revisions
Create a new file named like your service (exemple : my-template.php
) in inc/services
folder.
<?php
namespace Beapi\Theme\Theme_Name\Services;
use Beapi\Theme\Theme_Name\Service;
use Beapi\Theme\Theme_Name\Service_Container;
class My_Template implements Service {
/**
* @param Service_Container $container
*/
public function register( Service_Container $container ) {
}
/**
* @param Service_Container $container
*/
public function boot( Service_Container $container ) {
}
public function hello() {
echo 'hello';
}
/**
* @return string
*/
public function get_service_name() {
return 'my-template';
}
}
Open and edit the inc/framwork.php
file
/**
* @var $services
*/
protected static $services = [
// Services
\Beapi\Theme\Theme_Name\Services\Theme::class,
\Beapi\Theme\Theme_Name\Services\Assets::class,
\Beapi\Theme\Theme_Name\Services\Assets_CSS_Async::class,
\Beapi\Theme\Theme_Name\Services\Assets_JS_Async::class,
\Beapi\Theme\Theme_Name\Services\SVG::class,
\Beapi\Theme\Theme_Name\Services\Favicons::class,
\Beapi\Theme\Theme_Name\Services\Acf::class,
\Beapi\Theme\Theme_Name\Services\Sidebar::class,
\Beapi\Theme\Theme_Name\Services\Menu::class,
// Services as Tools
\Beapi\Theme\Theme_Name\Tools\Body_Class::class,
\Beapi\Theme\Theme_Name\Tools\Template_Parts::class,
// Custom services
\Beapi\Theme\Theme_Name\Services\Template::class,
];
<?php
$template = \Beapi\Theme\Purch_Uas\Framework::get_container()->get_service( 'my-template' );
$template->hello();
?>