netflie / componentes
一个用于创建HTML自定义元素的PHP编译器
v1.0.0
2020-05-24 15:34 UTC
Requires
- php: ^7.2.5
- illuminate/view: ^7.0
Requires (Dev)
- phpunit/phpunit: ^8.0
- symfony/var-dumper: ^5.0
This package is auto-updated.
Last update: 2024-09-19 10:22:35 UTC
README
这个PHP包提供了一个服务器端编译器,用于渲染自定义HTML组件。 这个包受到BladeX包(用于Laravel)的启发。从1.0.0新版本开始,这个包使用Laravel Blade Compiler。你现在可以使用Laravel Blade Components提供的所有功能(非匿名组件尚不支持)。
你可以这样写
<my-alert type="error" message="I'm an Alert" />
输出将会是
<div class="alert error">I'm an alert</div>
你可以将这个警告的内容放置在一个简单的Blade视图中,在使用my-alert组件之前需要先注册这个视图
<div class="alert {{ $type }}"> {{ $message }} </div>
安装
composer require netflie/componentes
使用
设置
在编写你的第一个组件之前,你必须设置视图文件系统,这是你的组件模板将被存储的位置
<?php declare(strict_types=1); namespace Foo\Bar; use Netflie\Componentes\Componentes; $viewPath = realpath(__DIR__ . '/views'); // your project views folder $componentes = Componentes::create($viewPath);
编写你的第一个组件
在Blade模板中编写你组件的内容,并将其存储在你的项目视图组件文件夹中
{{-- your_project/views/components/alert.blade.php --}} <div class="alert {{ $type }}"> {{ $message }} </div>
所有匿名组件将自动在your_project/views/components
目录下被发现。
现在你可以在你的视图中使用你自定义的HTML元素了
<h1>My view</h1> <x-alert type="error" message="I'm an Alert" />
编译
你需要编译HTML以渲染注册的HTML元素。这个HTML代码可以由框架预先编译,或者直接从一个html文件中读取
<?php namespace Foo\Bar; $input_html = '<html>' .'My webpage code precompiled by my own framework' .'<x-alert/>' .'</html>'; $ouput_html = $componentes->render($input_html);
更多文档
查看Laravel Blade Components的文档以了解全部功能。
测试
composer test
进行中
- 基于类的组件