- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
环顾四周,但找不到任何解决问题的方法。我制作了一个自定义 PHP MVC(使用来自各种来源的帮助),使用 Twig 的模板引擎并且渲染工作正常。我添加了一个自定义错误处理程序,它也可以正常工作。我设置了一个常量来显示开发中的错误,但在生产中只记录它们并呈现自定义 404 和 500 View 。当为这个特定选项调用 twig render($template) 函数时,它只返回以下错误:
Fatal error: Uncaught TypeError: Argument 1 passed to Twig\Environment::getTemplateClass() must be of the type string, null given, called in
C:\Users\duboi\OneDrive\Documents\Programming\www\fabrice\vendor\twig\twig\src\Template.php on line 321 and defined in
C:\Users\duboi\OneDrive\Documents\Programming\www\fabrice\vendor\twig\twig\src\Environment.php on line 259
不触发 404 和 500 http 请求时没有任何问题。 (现有路线/ Controller / Action )我从列出的错误中查看了 Twig 的类,注意到导致问题的参数是来自 public function\Twig\Environment::getTemplateClass($name, int $index = null): string
的 $name我跟踪了函数调用,并在每个函数调用中对最终成为 $name 参数的变量执行了 var_dump() 。所有显示 \vendor\twig\twig\src\Environment.php:279:string '404.html' (length=8)
这是一个字符串并且不是 NULL。为什么报错说是?
错误.php:
public static function exceptionHandler($exception) {
$code = $exception->getCode();
if ($code != 404) {
$code = 500;
}
http_response_code($code);
if (\App\Config::SHOW_ERRORS) {
[....]
} else {
$log = ROOT . DS . 'logs' . DS . date('Y-m-d') . '.txt';
ini_set('error_log', $log);
$message = "Uncaught Exception: '" . get_class($exception) . "'";
$message .= " with message '" . $exception->getMessage() . "'";
$message .= "\nStack trace: " . $exception->getTraceAsString();
$message .= "\nThrown in '" . $exception->getFile() . "' on line " . $exception->getLine();
error_log($message);
View::renderTemplate($code . '.html');
}
}
查看.php:
public static function renderTemplate($template, $args = []) {
static $twig = null;
if ($twig === null) {
$loader = new \Twig\Loader\FilesystemLoader(ROOT . DS . 'App' . DS . 'Views');
$twig = new \Twig\Environment($loader);
}
echo $twig->render($template, $args); // this is the point of my code when the error occurs
}
最佳答案
我收到了完全相同的错误消息。对我来说,问题是,我忘记将 baseTemplate
放在引号中,这是我在要呈现的模板中扩展的。
(我有 {% extends firstTwigBaseTemplate.html %}
代替{% extends "firstTwigBaseTemplate.html"%})
)
关于php - 传递给 Twig\Environment::getTemplateClass() 的参数 1 必须是字符串类型,给定为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62584294/
如何使用 SPListCollection.Add(String, String, String, String, Int32, String, SPListTemplate.QuickLaunchO
我刚刚开始使用 C++ 并且对 C# 有一些经验,所以我有一些一般的编程经验。然而,似乎我马上就被击落了。我试过在谷歌上寻找,以免浪费任何人的时间,但没有结果。 int main(int argc,
这个问题已经有答案了: In Java 8 how do I transform a Map to another Map using a lambda? (8 个回答) Convert a Map>
我正在使用 node + typescript 和集成的 swagger 进行 API 调用。我 Swagger 提出以下要求 http://localhost:3033/employees/sear
我是 C++ 容器模板的新手。我收集了一些记录。每条记录都有一个唯一的名称,以及一个字段/值对列表。将按名称访问记录。字段/值对的顺序很重要。因此我设计如下: typedef string
我需要这两种方法,但j2me没有,我找到了一个replaceall();但这是 replaceall(string,string,string); 第二个方法是SringBuffer但在j2me中它没
If string is an alias of String in the .net framework为什么会发生这种情况,我应该如何解释它: type JustAString = string
我有两个列表(或字符串):一个大,另一个小。 我想检查较大的(A)是否包含小的(B)。 我的期望如下: 案例 1. B 是 A 的子集 A = [1,2,3] B = [1,2] contains(A
我有一个似乎无法解决的小问题。 这里...我有一个像这样创建的输入... var input = $(''); 如果我这样做......一切都很好 $(this).append(input); 如果我
我有以下代码片段 string[] lines = objects.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.No
这可能真的很简单,但我已经坚持了一段时间了。 我正在尝试输出一个字符串,然后输出一个带有两位小数的 double ,后跟另一个字符串,这是我的代码。 System.out.printf("成本:%.2
以下是 Cloud Firestore 列表查询中的示例之一 citiesRef.where("state", ">=", "CA").where("state", "= 字符串,我们在Stack O
我正在尝试检查一个字符串是否包含在另一个字符串中。后面的代码非常简单。我怎样才能在 jquery 中做到这一点? function deleteRow(locName, locID) { if
这个问题在这里已经有了答案: How to implement big int in C++ (14 个答案) 关闭 9 年前。 我有 2 个字符串,都只包含数字。这些数字大于 uint64_t 的
我有一个带有自定义转换器的 Dozer 映射: com.xyz.Customer com.xyz.CustomerDAO customerName
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 关闭 6 年前。 我想了解字符串池的工作原理以及一个字符串等于另一个字符串的规则是
我已阅读 this问题和其他一些问题。但它们与我的问题有些无关 对于 UILabel 如果你不指定 ? 或 ! 你会得到这样的错误: @IBOutlet property has non-option
这两种方法中哪一种在理论上更快,为什么? (指向字符串的指针必须是常量。) destination[count] 和 *destination++ 之间的确切区别是什么? destination[co
This question already has answers here: Closed 11 years ago. Possible Duplicates: Is String.Format a
我有一个Stream一个文件的,现在我想将相同的单词组合成 Map这很重要,这个词在 Stream 中出现的频率. 我知道我必须使用 collect(Collectors.groupingBy(..)
我是一名优秀的程序员,十分优秀!