webtrees/example-module
Composer 安装命令:
composer require webtrees/example-module
包简介
Example module for webtrees
README 文档
README
This package shows you how to create a custom module in webtrees.
It is designed as a teaching-aid / documentation.
Rather than using this entire module as a starting point for your own module, it is recommended that you start with a minimal module, and copy/paste/edit just the features you need.
Minimal module
A module is a file called module.php that returns an object that implements ModuleCustomInterface.
Here is a minimal module. Create a folder for it, such as /modules_v4/my-module/ and store your module files there.
Although it doesn’t do anything yet, it will appear in the control panel.
<?php // module.php
use Fisharebest\Webtrees\Module\AbstractModule;
use Fisharebest\Webtrees\Module\ModuleCustomInterface;
use Fisharebest\Webtrees\Module\ModuleCustomTrait;
class MyModule extends AbstractModule implements ModuleCustomInterface
{
use ModuleCustomTrait;
}
return new MyModule();
Many PHP developers like to store each class in a separate file. If you are one of these, you would split this into two files. If you have a simple module, you may prefer everything in one file.
<?php // module.php
require_once __DIR__ . '/MyModule.php';
return new MyModule();
<?php // MyModule.php
use Fisharebest\Webtrees\Module\AbstractModule;
use Fisharebest\Webtrees\Module\ModuleCustomInterface;
use Fisharebest\Webtrees\Module\ModuleCustomTrait;
class MyModule extends AbstractModule implements ModuleCustomInterface
{
use ModuleCustomTrait;
}
The code in this package uses the namespace \Webtrees\Example.
You do not need to use namespaces.
If you do, use the format \MyOrganisationName\MyModuleName.
How do I...?
Add a new webtrees component such as a menu, chart, tab, block
Your module needs to implement the corresponding interface and use the corresponding trait. e.g. ModuleMenuInterface and ModuleMenuTrait
You can implement more than one component in the same module.
统计信息
- 总下载量: 19
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2026-02-03