所以我是laravel和PyroCMS的新手,我最近安装了PyroCMS,然后去mydomain.com/register尝试注册函数,得到了以下错误,但不知道如何解决它。
错误码:
}
/**
* Convert the given string to upper-case.
*
* @param string $value
* @return string
*/
public static function upper($value)
{
return mb_strtoupper($value, 'UTF-8');
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Highlighted line
}
/**
* Convert the given string to title case.
*
* @param string $value
* @return string
*/
public static function title($value)
{
return mb_convert_case($value, MB_CASE_TITLE, 'UTF-8');
}和
public static function substr($string, $start, $length = null)
{
return mb_substr($string, $start, $length, 'UTF-8');
}其中一行return mb_strtoupper($value, 'UTF-8');和return mb_substr($string, $start, $length, 'UTF-8');用错误日志expects parameter 1 to be string, array given突出显示。
我该怎么解决呢?
更多信息:
错误文件:pyrocms/vendor/laravel/framework/src/Illuminate/Support/Str.php
错误截图:

发布于 2018-04-08 17:58:37
你可能想也可能不想做这样的事
public static function upper($value)
{
if(is_array($value)){
foreach($value as &$item){
$item = self::upper($item); //recursive
}
return $value;
}
return mb_strtoupper($value, 'UTF-8');
}当它是一个数组时,这将递归地调用upper,其效果是它将大写为$value中的所有内容。这可能是你想要的,也可能不是你想要的。
您有可能将错误的数据传递给此方法。
要传递正确的数据,您可以执行以下操作
$value['key'] = Class::upper($value['key']);但是我不知道key应该是什么值,我甚至不知道这些方法驻留在Class中的是什么类。我不使用laravel,也从未听说过PyroCMS。
如果我使用所有出现的框架,我就会花时间学习框架,而不是建立框架。我不使用laravel,因为我不喜欢blade使用的语法,我不喜欢query构建器,也许可以替换它们,但是我们已经在一个不同的框架中构建了所有的东西。因此,当我们已经有了一个很好的解决方案时,就没有必要按我想要的方式定制它了。
也就是说,我确实了解PHP,实际上我非常了解它。
https://stackoverflow.com/questions/49720750
复制相似问题