承接 onethity/slim4-twig-view 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

onethity/slim4-twig-view

Composer 安装命令:

composer require onethity/slim4-twig-view

包简介

Slim Framework 4 twig view forked.

README 文档

README

This is a slim/twig-view component, but forked for Slim 4.

Install

Via Composer

$ composer require onethity/slim4-twig-view

Requires Slim Framework 4 and PHP 7.1.0 or newer.

Usage

// Create Container
$container = new Container();

// Set container to create App with on AppFactory
AppFactory::setContainer($container);
$app = AppFactory::create();

// Register Twig View helper
$container->set('view', function ( ) use ($app) {
    $view = new \Slim\Views\Twig(__DIR__ . '/../tpl/', [
        'cache' => false,
    ]);
    
    // Instantiate and add Slim specific extension
    $uriFactory = new \Slim\Psr7\Factory\UriFactory();
    $uri = $uriFactory->createFromGlobals($_SERVER);
    $routeParser = $app->getRouteCollector()->getRouteParser();
    $basePath = $app->getBasePath();
    $view->addExtension(new \Slim\Views\TwigExtension($routeParser, $uri, $basePath));

    return $view;
});

// Define named route
$app->get('/hello/{name}', function ($request, $response, $args) {
    return $this->get('view')->render($response, 'index.html.twig', [
        'name' => $args['name']
    ]);
})->setName('profile');

// Render from string
$app->get('/hi/{name}', function ($request, $response, $args) {
    $str = $this->get('view')->fetchFromString('<p>Hi, my name is {{ name }}.</p>', [
        'name' => $args['name']
    ]);
    $response->getBody()->write($str);
    return $response;
});

// Run app
$app->run();

Custom template functions

TwigExtension provides these functions to your Twig templates:

  • path_for() - returns the URL for a given route.
  • base_url() - returns the Uri object's base URL.
  • is_current_path() - returns true is the provided route name and parameters are valid for the current path.
  • current_path() - renders the current path, with or without the query string.

You can use path_for to generate complete URLs to any Slim application named route and use is_current_path to determine if you need to mark a link as active as shown in this example Twig template:

{% extends "layout.html" %}

{% block body %}
<h1>User List</h1>
<ul>
    <li><a href="{{ path_for('profile', { 'name': 'josh' }) }}" {% if is_current_path('profile', { 'name': 'josh' }) %}class="active"{% endif %}>Josh</a></li>
    <li><a href="{{ path_for('profile', { 'name': 'andrew' }) }}">Andrew</a></li>
</ul>
{% endblock %}

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 10
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 83
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-12-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固