PHP code example of changhorizon / bs5-renderers
1. Go to this page and download the library: Download changhorizon/bs5-renderers library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
changhorizon / bs5-renderers example snippets
use ChangHorizon\BS5Renderers\HtmlChangHorizon\BS5Renderers\Button\LinkButtonRenderer;
$btn = (new LinkButtonRenderer())
->href('/admin/users/create')
->label('Add User')
->style('success')
->size('sm');
echo $btn->render();
// <a href="/admin/users/create" class="btn btn-success btn-sm" role="button">Add User</a>
use ChangHorizon\BS5Renderers\HtmlChangHorizon\BS5Renderers\Button\FormButtonRenderer;
$btn = (new FormButtonRenderer())
->label('Delete')
->style('danger')
->name('action')
->value('delete');
echo $btn->render();
// <button type="submit" class="btn btn-danger" name="action" value="delete">Delete</button>
use ChangHorizon\BS5Renderers\HtmlChangHorizon\BS5Renderers\Nav\BreadcrumbRenderer;
$bc = (new BreadcrumbRenderer())
->add('Home', '/')
->add('Users', '/users')
->add('Edit');
echo $bc->render();
// <nav aria-label="breadcrumb"><ol class="breadcrumb">...
use ChangHorizon\BS5Renderers\HtmlChangHorizon\BS5Renderers\Table\DataListRenderer;
$table = new DataListRenderer();
$table->head()
->addColumn('Name', true, 'name')
->addColumn('Email', true, 'email')
->addColumn('Role');
$table->actions()
->add('Edit', '/users/1/edit', 'primary', 'pencil')
->add('Delete', '/users/1/delete', 'danger', 'trash', 'Are you sure?');
$table->data([
['name' => 'Alice', 'email' => '[email protected] ', 'role' => 'Admin'],
['name' => 'Bob', 'email' => '[email protected] ', 'role' => 'Editor'],
]);
echo $table->render();
use ChangHorizon\BS5Renderers\HtmlChangHorizon\BS5Renderers\Table\DataTreeRenderer;
$tree = new DataTreeRenderer();
$tree->head()->addColumn('Category')->addColumn('Slug');
$tree->tree([
['id' => '1', 'label' => 'Root', 'data' => ['slug' => 'root'], 'children' => [
['id' => '2', 'label' => 'Child A', 'data' => ['slug' => 'child-a'], 'children' => []],
['id' => '3', 'label' => 'Child B', 'data' => ['slug' => 'child-b'], 'children' => []],
]],
]);
echo $tree->render();
use ChangHorizon\BS5Renderers\View\PageRender;
$page = new PageRender();
$page->breadcrumb()->add('Home', '/')->add('Pages');
$page->addButton()->href('/pages/create')->label('Add Page');
$page->tree()->head()->addColumn('Title')->addColumn('Status');
$page->tree()->tree([/* ... */]);
echo $page->render();
// 完整 Bootstrap 5 页面布局:面包屑 + 卡片 + 树形表格
txt
src/
├── HtmlRenderers/
│ ├── Button/
│ │ ├── LinkButtonRenderer.php # <a> 风格按钮
│ │ └── FormButtonRenderer.php # <button> 风格表单按钮
│ ├── Nav/
│ │ └── BreadcrumbRenderer.php # 面包屑导航
│ └── Table/
│ ├── TableHeadRenderer.php # 表头(可排序)
│ ├── TableRowRenderer.php # 数据行
│ ├── TableRowActionsRenderer.php # 行操作按钮列
│ ├── DataListRenderer.php # 平面数据表
│ └── DataTreeRenderer.php # 递归树形表
└── View/
├── LocaleRender.php # locale 管理页面
└── PageRender.php # CMS 页面管理