Hallo,
Ik gebruik in mijn eigen framework de twig template engine nu heb ik twig geupdate van versie 2.11 naar 3.0.1 en nu krijg ik een error.
Twig is geďnstalleerd via composer dus ik laad eerst de autoload van composer
In mijn template class roep ik twig pas aan.PHP Code:
require_once (__SITE_PATH . "App/vendor/autoload.php");
Dit bovenstaande ging in 2.11 allemaal perfect. Volgens de documentatie hoef ik wat aanroepen betreft niks te wijziging maar toch kan hij nu Twig_Loader_Filesystem niet meer vinden.PHP Code:
$loader = new \Twig_Loader_Filesystem([
dirname(__DIR__) . '/Views',
dirname(__DIR__) . '/Views/Emails',
]);
Uncaught exception: 'Error'
Message: 'Class 'App\Core\Twig_Loader_Filesystem' not found'
Twig is geďnstalleerd in de map App > vendor > Twig
Wie heeft mijn oplossing bedankt alvast
Martijn
- Error bij laden van Twig
-
04-01-2020, 13:57 #1
- Berichten
- 501
- Lid sinds
- 18 Jaar
Error bij laden van Twig
-
04-01-2020, 14:17 #2
- Berichten
- 691
- Lid sinds
- 15 Jaar
Re: Error bij laden van Twig
Lees hier:
https://twig.symfony.com/doc/3.x/api.html
PHP Code:$loader = new \Twig\Loader\FilesystemLoader('/path/to/templates');
$twig = new \Twig\Environment($loader, [
'cache' => '/path/to/compilation_cache',
]);
-
04-01-2020, 14:22 #3
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Error bij laden van Twig
Hoi bedankt voor je antwoord
Ik had het na het schrijven hier inderdaad gezien en aangepast
PHP Code:$loader = new \Twig\Loader\FilesystemLoader([ $template,
dirname(__DIR__) . '/Views',
dirname(__DIR__) . '/Views/Emails',
dirname(__DIR__) . '/Views/Pdf',
]);
Echter geeft het het zelfde resultaat
Uncaught exception: 'Error'
Message: 'Class 'Twig\Loader\FilesystemLoader' not found'
-
04-01-2020, 14:25 #4
- Berichten
- 691
- Lid sinds
- 15 Jaar
Re: Error bij laden van Twig
Lees op diezelfde pagina over de Built-in Loaders.
-
04-01-2020, 14:29 #5
- Berichten
- 691
- Lid sinds
- 15 Jaar
Re: Error bij laden van Twig
use Twig\Loader\FilesystemLoader;
Heb je dat ergens bovenin staan?
edit:
Zou sowieso al moeten werken want je gebruikt de volledige namespace.
-
04-01-2020, 14:45 #6
- Berichten
- 501
- Lid sinds
- 18 Jaar
Re: Error bij laden van Twig
Vanuit de view class roep ik de template class aan deze laad eigenlijk alleen twig in en de eventuele eigen gemaakte functies voor twig voor nu is dat er 1.
Ik doe dus dit in mijn view classPHP Code:$twig = Template::loadTwig($admin);
PHP Code:namespace App\Core;
class Template {
/**
* @param $admin
* @return Twig_Environment
*/
public static function loadTwig($admin=false)
{
# Load some templates and render it
$template = __SITE_PATH . 'public_html/templates/' . ($admin !== false ? getenv('BACKEND_TEMPLATE') : getenv('FRONTEND_TEMPLATE'));
$loader = new \Twig\Loader\FilesystemLoader([
$template,
dirname(__DIR__) . '/Views',
dirname(__DIR__) . '/Views/Emails',
dirname(__DIR__) . '/Views/Pdf',
]);
$twig = new \Twig\Environment( $loader, ['debug' => true] );
$twig->addExtension(new \Twig\Extension\DebugExtension());
self::addTwigFunctions($twig);
return $twig;
}
/**
* Make your own twig functions
* @param $twig
* @return mixed
*/
private static function addTwigFunctions($twig)
{
return $twig->addFunction(
new \Twig_SimpleFunction(
'csrf_token',
function() {
if (empty($_SESSION['csrf_token'])) {
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}
return $_SESSION['csrf_token'];
}
)
);
}
}
In TWIG 2.11 ging dit allemaal perfect. De vendor map waar twig instaat weg gegooid en via composer install alle packages opnieuw geďnstalleerd maar zelfde resultaat.
Gekke is PHPStorm kan de files wel vinden.Laatst aangepast door Martijn Moes : 04-01-2020 om 14:57
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic