krathaus / bauhausblock
为 Laravel 提供简单的区块处理
dev-master
2014-09-02 09:52 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.2.*
Suggests
- krafthaus/bauhaus: The missing Laravel 4 Admin Generator
This package is auto-updated.
Last update: 2024-09-29 03:36:21 UTC
README
处理区块元素的渲染。区块是一个具有自身逻辑和模板的小单元。区块可以插入到当前 Laravel 模板中的任何位置。
安装
将 bauhaus block 添加到您的 composer.json 文件
"require": {
"krafthaus/bauhausblock": "dev-master"
}
使用 composer 安装此软件包
$ composer update
注册软件包
'providers' => array( 'KraftHaus\BauhausBlock\BauhausBlockServiceProvider' ), 'aliases' => array( 'Block' => 'KraftHaus\BauhausBlock\Facades\Block' )
将 blocks 文件夹添加到 app/ 目录中,并在您的 composer.json 文件中添加以下行
"autoload": {
"classmap": [
"app/blocks"
]
}
然后运行 $ composer dump-autoload,完成安装。
您的第一个区块
本快速教程解释了如何创建一个 RSS 阅读器区块。区块只是一个定义了渲染区块片段属性的类。
您为项目创建的每个区块都应该位于 app/blocks 文件夹中。因此,让我们在该文件夹中创建一个 RssBlock.php 文件,并添加以下内容
<?php use KraftHaus\BauhausBlock\Block; use KraftHaus\BauhausBlock\Resolver\OptionResolver; class RssBlock extends Block { /** * Configure the block with this method. * Use the OptionResolver instance to set or get options for this block. */ public function configure(OptionResolver $resolver) { $resolver ->set('url', 'https://github.com/krafthaus/bauhaus/commits/master.atom') ->set('view', 'blocks.rss'); } /** * This method is called every time a block is rendered and used to * initialize the block with data. */ public function execute() { $options = $this->getOptionResolver(); $content = file_get_contents($options->get('url')); $feed = simplexml_load_string($content); $options->set('feed', $feed->entry); return $this; } }
在 app/views/blocks/rss.blade.php 中创建此区块的视图,并添加以下内容
<ul>
@foreach ($options->feed as $item)
<li>{{ $item->title }}</li>
@endforeach
</ul>
要渲染区块,只需调用
{{ Block::render('rss') }}
这就是全部!
支持
有虫子?请在 GitHub 上创建一个符合 necolas 的指南 的问题。
许可
此软件包可在 MIT 许可证 下获得。