Приветствую )
С подачи GPT выбрал phpBB как форумный движок, который можно безболезнено модифицировать через расширения. Начали вроде с простоых задач. Собрав пачку граблей пришли к тому что бы сделать хотя бы что-то. В итоге получилось что есть расширение, которое подхватывается,но как буд-то не подает признаков жизни.
Могу я у знающих людей попросить пример расширения , которое просто при заходе на любую страничку форума будет делать запись в файл "helo world" ?
[3.3] Hello world
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 2.0.18
- Сообщения: 1172
- Стаж: 14 лет 5 месяцев
- Благодарил (а): 208 раз
- Поблагодарили: 74 раза
Re: [3.3] Hello world
Где? В теме форума? (Если что я не знающий, просто знающим людям будет непонятен ваш вопрос).
Re: [3.3] Hello world
Расширение в студию, посмотрим что не такgamgam писал(а): 31.08.2025 16:21 В итоге получилось что есть расширение, которое подхватывается,но как буд-то не подает признаков жизни.
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 2 дня
Re: [3.3] Hello world
ext/dark/hello/
├── composer.json
├── ext.php
└── event/
└── listener.php
composer.json
ext.php
listener.php
├── composer.json
├── ext.php
└── event/
└── listener.php
composer.json
Код: Выделить всё
{
"name": "dark/hello",
"type": "phpbb-extension",
"description": "Simple test extension",
"version": "1.0.0",
"license": "GPL-2.0-only",
"authors": [
{
"name": "Dark",
"homepage": "https://example.com"
}
],
"require": {
"php": ">=7.1",
"phpbb/phpbb": ">=3.3.0"
},
"extra": {
"display-name": "Hello Extension",
"soft-require": {
"phpbb/phpbb": ">=3.3.0,<4.0.0@dev"
}
}
}
ext.php
Код: Выделить всё
<?php
namespace dark\hello;
class ext extends \phpbb\extension\base
{
}
listener.php
Код: Выделить всё
<?php
namespace dark\hello;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
static public function getSubscribedEvents()
{
return [
'core.page_header' => 'on_page_header',
];
}
public function on_page_header($event)
{
file_put_contents(__DIR__ . '/hello.log', date('Y-m-d H:i:s') . " Hello world\n", FILE_APPEND);
}
}
Re: [3.3] Hello world
Не хватает:
И в слушателе добавить бы конструктор, хотя бы сейчас пустой
config/services.yml
(синтаксис невидимых символов - только пробелы)
Код: Выделить всё
services:
dark.hello.listener:
class: dark\hello\event\listener
tags:
- { name: event.listener }
-
- phpBB 1.0.0
- Сообщения: 3
- Стаж: 2 дня
Re: [3.3] Hello world
Ну да, коварство в деталях. GPT оказывается про этот файл не вкурсе.
Лог, он мне на написал, но сама функция выполняется. Это в общем имеено то, что и было нужно ) Спасибо !
Лог, он мне на написал, но сама функция выполняется. Это в общем имеено то, что и было нужно ) Спасибо !
Код: Выделить всё
<?php
namespace dark\hello\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class listener implements EventSubscriberInterface
{
static public function getSubscribedEvents()
{
return [
'core.page_header' => 'on_page_header',
];
}
public function on_page_header($event)
{
die (__DIR__ . '[it works!]');
}
}