<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Templates Slim does not have a view layer like traditional MVC frameworks. Instead, Slim’s “view”?*is the HTTP response*. Each Slim application route is responsible for preparing and returning an appropriate PSR 7 response object. > Slim’s “view” is the HTTP response. ## The slim/twig-view component That being said, Slim does provide the optional?[slim/twig-view](https://github.com/slimphp/Twig-View)?PHP component to help you render?[Twig](http://twig.sensiolabs.org/)?templates to a PSR 7 Response object. This component is available on Packagist, and it’s easy to install with Composer like this: ~~~ composer require slim/twig-view ~~~ Figure 1: Install slim/twig-view component. Next, you need to register the component as a service on the Slim app’s container like this: ~~~ <?php // Create container $container = new \Slim\Container; // Register component on container $container['view'] = function ($c) { $view = new \Slim\Views\Twig('path/to/templates', [ 'cache' => 'path/to/cache' ]); $view->addExtension(new \Slim\Views\TwigExtension( $c['router'], $c['request']->getUri() )); return $view; }; ~~~ Figure 2: Register slim/twig-view component with container. Note : “cache” could be set to false to disable it, see also ‘auto_reload’ option, usefull in development environnement. For more information, see?[Twig environment options](http://twig.sensiolabs.org/api/master/Twig_Environment.html#method___construct) Now you can use the?`slim/twig-view`?component service inside an app route to render a template and write it to a PSR 7 Response object like this: ~~~ // Create app $app = new \Slim\App($container); // Render Twig template in route $app->get('/hello/{name}', function ($request, $response, $args) { return $this->view->render($response, 'profile.html', [ 'name' => $args['name'] ]); })->setName('profile'); // Run app $app->run(); ~~~ Figure 3: Render template with slim/twig-view container service. In this example,?`$this->view`?invoked inside the route callback is a reference to the`\Slim\Views\Twig`?instance returned by the?`view`?container service. The?`\Slim\Views\Twig`instance’s?`render()`?method accepts a PSR 7 Response object as its first argument, the Twig template path as its second argument, and an array of template variables as its final argument. The?`render()`?method returns a new PSR 7 Response object whose body is the rendered Twig template. ### The path_for() method The?`slim/twig-view`?component exposes a custom?`path_for()`?function to your Twig templates. You can use this function to generate complete URLs to any named route in your Slim application. The?`path_for()`?function accepts two arguments: 1. A route name 2. A hash of route placeholder names and replacement values The second argument’s keys should correspond to the selected route’s pattern placeholders. This is an example Twig template that draws a link URL for the “profile” named route shown in the example Slim application above. ~~~ {% extends "layout.html" %} {% block body %} <h1>User List</h1> <ul> <li><a href="{{ path_for('profile', { 'name': 'josh' }) }}">Josh</a></li> </ul> {% endblock %} ~~~ ## Other template systems You are not limited to the?`slim/twig-view`?component. You can use any PHP template system assuming you ultimately write the rendered template output to the PSR 7 Response object’s body.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看