所以我是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
错误截图:
答案 0 :(得分:0)
您可能想要也可能不想做这样的事情
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,事实上我很清楚。