3

SlimをTwigテンプレートシステムで動作させようとしています。これは私の一部です。index.php

// Twig [Template]
require 'Extras/Views/Twig.php';
TwigView::$twigDirectory = __DIR__ . '/vendor/Twig/lib/Twig/';

//Slim
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();

$app = new \Slim\Slim(array(
    'view' => $twigView
));

そしてこれが私の構造です

Extras
    |_Views
        |_Twig.php
Slim
templates
vendor
    |_Twig
        |_lib
            |_Twig
index.php

私は他の構成で数回試し、購入を検索すると、常にこのエラーが発生します:

Fatal error: Class 'Slim\View' not found in C:\wamp\www\slim\Extras\Views\Twig.php on line 43

誰かがここで私を助けることができますか?私が見つけたすべての例は、作曲家を使用したものでした

4

3 に答える 3

2

わかりました、私はそれを解決します。これが解決策です:

// Slim PHP
require "Slim/Slim.php";
\Slim\Slim::registerAutoloader();

// Twig
require "Twig/lib/Twig/Autoloader.php";
Twig_Autoloader::register();

// Start Slim.
/** @var $app Slim */
$app = new \Slim\Slim(array(
    "view" => new \Slim\Extras\Views\Twig()
));

そして、これが私の構造です。

Slim
|_Extras
    |_Views
        |_Twig.php
|_Slim
templates
Twig
 |_lib
   |_Twig
      |_Autoloader.php
index.php

¡これが他の誰かの助けになることを願っています!

于 2012-11-16T06:22:18.477 に答える
2

Slim-Extrasは非推奨になりました。Slim-Views(https://github.com/codeguy/Slim-Views)を使用する必要があります。

require "Slim/Slim.php";
\Slim\Slim::registerAutoloader();

$slim = new \Slim\Slim( array(
        'debug' => false, 
        'templates.path' => 'fooDirTemplates', 
        'view' => '\Slim\Views\Twig'
    ));

$twigView = $slim->view();
$twigView->parserOptions = array(
        'debug' => false
    );
$twigView->parserDirectory = 'Twig';
$twigView->parserExtensions = array(
        '\Slim\Views\TwigExtension'
    );

$slim->notFound( 'fooNotFoundFunction' );
$slim->error( 'fooErrorFunction' );

// SLIM routes...

$slim->run();
于 2014-06-02T17:44:35.980 に答える
1

誰かがまだこの問題にぶつかっている場合。私にとっての問題は、slim/viewsとslim/twig-viewの両方をインストールしたことでした。Slim / Viewsをアンインストールしましたが、機能しました

于 2016-05-16T18:29:45.503 に答える