chilldev/view-helpers-bundle

来自 Chillout Development 的通用视图辅助工具,用于 PHP 模板引擎。

该软件包的官方仓库似乎已消失,因此软件包已被冻结。

0.1.9 2014-06-30 13:41 UTC

This package is not auto-updated.

Last update: 2019-03-01 00:08:44 UTC


README

ChillDevViewHelpersBundle 是一个 Symfony2 扩展包,提供了一套有用的视图辅助工具,用于 PHP 模板引擎。

Build Status Scrutinizer Quality Score Coverage Status Dependency Status SensioLabsInsight

因为不是每个人都在使用 Twig…

安装

此扩展包作为 Composer 软件包提供。要安装它,只需将以下依赖定义添加到您的 composer.json 文件中

"chilldev/view-helpers-bundle": "dev-master"

如果您想使用特定版本,可以将 dev-master 替换为不同的约束条件。

注意:此扩展包需要 PHP 5.4

配置

为了使用此扩展包的功能,您只需将其加载到您的内核中即可。

<?php

use ChillDev\Bundle\ViewHelpersBundle\ChillDevViewHelpersBundle;

use Symfony\Component\HttpKernel\Kernel as BaseKernel;

class Kernel extends BaseKernel
{
    public function registerBundles()
    {
        $bundles = [
            new ChillDevViewHelpersBundle(),
        ];
    }
}

当然,还有一些可选的 配置选项

使用

此扩展包的主要功能是一套常见的 (X)HTML 标签辅助工具,如 <meta><link> 等。以下是一个示例用法

在您的视图文件中

<?php $view->extend('::layout.html.php'); ?>

<?php $view['title']->append($page->getName()); ?>
<?php $view['meta']->getMetaName('keywords')->append($page->getKeywords()); ?>
<?php $view['meta']->setMetaName('description', \strip_tags($page->getDescription())); ?>
<?php $view['meta']->setProperty('og:title', $page->getName()); ?>
<?php $view['link']->add('http://example.com/page-2-slug.html', 'next'); ?>
<?php $view['script']->add('/javascript/prototype.js'); ?>
<?php $view['xmlns']['http://www.w3.org/1999/xhtml'] = ''; ?>
<?php $view['xmlns']['http://purl.org/NET/hinclude'] = 'hx'; ?>
<?php $view['xmlns']['http://ogp.me/ns#'] = 'og'; ?>
<?php $view['xmlns']['http://ogp.me/ns/fb#'] = 'fb'; ?>

<p><?php echo $view['truncate']->truncate($text, 255); ?></p>

在您的布局文件中

<!DOCTYPE html>
<html<?php echo $view['xmlns']; ?>>
    <head>
        <?php echo $view['title']; ?>
        <?php echo $view['meta']; ?>
        <?php echo $view['link']; ?>
        <?php echo $view['script']; ?>
    </head>
    <body>
        <?php $view['slots']->output('_content') ?>
    </body>
</html>

有关更高级的方面,请参阅 高级使用文档 或甚至 内部描述

附加功能

此扩展包还包括一些 额外资源,这些资源对您的基于 PHP 模板的项目的开发可能很有用。

KnpPaginatorBundle 支持 PHP 模板,但缺少分页辅助工具的默认模板。您可以通过在应用程序配置中设置一个选项来使用此扩展包中的一个模板

# KNP paginator configuration
knp_paginator:
    template:
        pagination: "ChillDevViewHelpersBundle:Pagination:sliding.html.php"

此扩展包提供的另一个 PHP 模板引擎附加功能是定义全局模板变量的可能性。此功能在 Symfony 的 Twig 模板引擎中(使用 TwigBundle)中作为标准功能提供,但没有为原生 PHP 模板提供等效功能。现在,通过我们的扩展包,您可以这样做

chilldev_viewheleprs:
    globals:
        values:
            slogan: "The best page ever!"
        services:
            sms: "your.sms.service"

然后在模板中直接使用它

<h1><?php echo $slogan; ?></h1>
<p><?php echo $sms->getGatewayNumber(); ?></p>

资源

贡献

你想要帮助改进这个项目吗?只需 分叉 它并提交一个拉取请求。你可以自己完成所有事情,不需要询问是否可以,只需要做你想要的所有酷炫事情!

此项目在 MIT 许可证下发布。

作者

ChillDevViewHelpersBundleChillout Development 提供。

贡献者列表