wongyip/laravel-renderable
最新稳定版本:v1.3.4
Composer 安装命令:
composer require wongyip/laravel-renderable
包简介
Render Eloquent model with ease.
README 文档
README
Present an Eloquent model or an associative array in HTML table view.
Installation
Install as a package to a Laravel project
composer require wongyip/laravel-rendetable
Usage
use Wongyip\Laravel\Renderable\Renderable; // Attributes to be rendered, can be an Eloquent model. $user = [ 'id' => 1999, 'surname' => 'SOME', 'last_name' => 'Body', 'roles' => ['Operator', 'Editor', 'Supervisor'], 'gender' => 'Male', 'birthday' => '29th Feb', 'active' => false ]; // Render all attributes except 'gender' and 'birthday'. $included = true; $excluded = ['gender', 'birthday']; // Custom Labels $labels = [ 'surname' => 'First Name', 'active' => 'Status' ]; // Make $r = Renderable::table($user, $included, $excluded); // Render as <ul>, expected array value. $r->typeUL('roles'); // Print 'Active' and 'Blocked' when attribute 'active' is TRUE and FALSE respectively. $r->typeBool('active', 'Active', 'Blocked'); // Overwrite auto-generated labels. $r->labels($labels); // To HTML. echo $r->render();
Output
<div id="renderable-12345678-container" class="renderable-container"> <table id="renderable-12345678" class="table table-bordered table-strip renderable-table"> <thead class="thead-light"> <tr> <th class="renderable-field-header">Field</th> <th class="renderable-value-header">Value</th> </tr> </thead> <tbody class="renderable-body"> <tr class="field-id"> <th class="renderable-label">ID</th> <td class="renderable-value">1999</td> </tr> <tr class="field-surname"> <th class="renderable-label">First Name</th> <td class="renderable-value">SOME</td> </tr> <tr class="field-last_name"> <th class="renderable-label">Last Name</th> <td class="renderable-value">Body</td> </tr> <tr class="field-roles"> <th class="renderable-label">Roles</th> <td class="renderable-value"> <ul> <li>Operator</li> <li>Editor</li> <li>Supervisor</li> </ul> </td> </tr> <tr class="field-active"> <th class="renderable-label">Status</th> <td class="renderable-value">Blocked</td> </tr> </tbody> </table> </div>
Output Explained
- The main output is a
<table>tag wrapped in a container<div>tag. - The
Renderableobject generates its ownRenderable.idrandomly on instantiate (12345678), which is changeable with theRenderable.id()method. - The main tag will have an
idattribute derived from theRenderable.id, prefixed withrenderable-by default, configurable via/config/renderable.php) and changeable on run-time by updating theRenderable.options.idPrefixproperty. - The container tag's ID is further suffixed with
-containterby default, configurable via/config/renderable.php) and changeable on run-time by updating theRenderable.options.containerIdSuffixproperty. - Field labels and values are rendered base on the setup.
Notes
- Output is formatted with HTML Beautify.
- Output is sanitized with HTML Purifier.
- The
Renderableobject is designed to render once only, useclonekeyword to create multipleRenderableobjects may end up fall into the variable referencing nightmare, do Deep Copy if multiple instance is really needed.
统计信息
- 总下载量: 1.63k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2021-12-06