PyroCMS用户注册错误

时间:2018-04-08 17:37:37

标签: php laravel pyrocms user-registration

所以我是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

错误截图:

Error screenshot

1 个答案:

答案 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,事实上我很清楚。