krathaus/bauhausblock

为 Laravel 提供简单的区块处理

安装: 26

依赖项: 0

建议者: 1

安全性: 0

星标: 0

关注者: 2

分支: 0

开放性问题: 1

类型:laravel-package

dev-master 2014-09-02 09:52 UTC

This package is auto-updated.

Last update: 2024-09-29 03:36:21 UTC


README

Latest Stable Version Latest Unstable Version Total Downloads License

处理区块元素的渲染。区块是一个具有自身逻辑和模板的小单元。区块可以插入到当前 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 许可证 下获得。