首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Twig与CodeIgniter 4集成

将Twig与CodeIgniter 4集成
EN

Stack Overflow用户
提问于 2020-07-30 13:17:01
回答 3查看 3.2K关注 0票数 3

我用了Twig和Symfony,我真的很喜欢它。我现在有一个CodeIgniter项目,我想将Twig与它集成起来。

我通过Composer安装了CodeIgniter和Twig的最新版本,并遵循了本教程,但我相信本教程中的代码是针对CI v3的。

任何人谁已经将Twig与CI v4集成,请帮助我正确的代码。

更新

下面是解决方案!

EN

Stack Overflow用户

回答已采纳

发布于 2021-02-15 09:29:43

我在一段时间前找到了这个解决方案,现在我把它发了出来,以防有人发现这个问题。

  1. 首先,所有控制器都必须扩展BaseController;默认情况下,安装CodeIgniter 4时该控制器是可用的。
  2. 创建一个自定义帮助文件并放入[project-name]/appstarter/app/Helpers

重要

  • 您的助手的名字必须是[name]_helper.php,否则它将无法工作!

例如,我的名字叫custom_helper.php

  1. 在您刚才创建的自定义助手中创建以下函数: 使用Twig\Environment;使用Twig\Extension\DebugExtension;使用Twig\Loader\FilesystemLoader;使用Twig\TwigFilter;if (!function_exists('twig_conf')) { function twig_conf() { //折叠代码行是使Twig工作/后面的代码行是可选的$loader =新的FilesystemLoader(‘视图’,‘./app/’);//能够在小枝文件$twig = new ($loader,调试‘=>真)中使用’DebugExtension‘函数;$ twig ->addExtension(新DebugExtension());// twig允许您创建自定义筛选器$filter =新TwigFilter('_base_url',函数($asset) {返回base_url() )。“/”。( $asset;});$twig->addFilter($filter);返回$twig;}

备注

  • 在创建任何自定义过滤器之前,make 好的 Twig还没有内置一个。
  1. 现在,您将在BaseController中找到一个名为$helpers的空数组。您必须将自定义助手的名称放入其中。我的代码名为custom_helper.php;所以对于我来说,代码如下所示: 受保护的$helpers =‘定制’;
  2. 就在数组下面,您将找到BaseController的构造函数,这里将初始化Twig库;通过调用您在自定义助手中创建的函数: 公共函数initController(RequestInterface $request,ResponseInterface $response,LoggerInterface $logger) {父级::initController($request,$response,$logger);$this->twig = twig_conf();}
  3. 现在你可以走了!若要在任何控制器中呈现树枝文件,请执行以下操作: 返回$this->twig->呈现(‘twig_name’,$dataArray);
票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63174050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档