Code: Select all
services:
acme.demo.listener:
class: acme\demo\event\main_listener
tags:
- { name: event.listener }
Code: Select all
{
"name": "acme/demo",
"type": "phpbb-extension",
"description": "Custom extension",
"homepage": "https://github.com/phpbb/phpbb-ext-acme-demo",
"version": "0.1.0",
"time": "2013-11-05",
"keywords": ["phpbb", "extension", "acme", "demo"],
"license": "GPL-2.0-only",
"authors": [
{
"name": "Kilobyte",
"email": "nickvergessen@localhost",
"homepage": "https://github.com/nickvergessen/",
"role": "Lead Developer"
}
],
"require": {
"php": ">=5.4.0",
"composer/installers": "~1.0"
},
"require-dev": {
"phpbb/epv": "dev-master"
},
"extra": {
"display-name": "Acme Demo Extension",
"soft-require": {
"phpbb/phpbb": "~3.2"
}
}
}
Code: Select all
<?php
namespace acme\demo\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
echo '1';die;
class main_listener implements EventSubscriberInterface
{
/**
* Assign functions defined in this class to event listeners in the core
*
* @return array
*/
static public function getSubscribedEvents()
{
echo '2';die;
return [
'core.user_setup' => 'load_language_on_setup',
];
}
/**
* Load the Acme Demo language file
* acme/demo/language/en/demo.php
*
* @param \phpbb\event\data $event The event object
*/
public function load_language_on_setup($event)
{
$lang_set_ext = $event['lang_set_ext'];
$lang_set_ext[] = [
'ext_name' => 'acme/demo',
'lang_set' => 'demo',
];
$event['lang_set_ext'] = $lang_set_ext;
}
}