繁体   English   中英

PHP错误数组到字符串的转换

[英]PHP Error Array to string conversion

我有具有路由属性数组的类Router

<?php
class Router
{
    private $routes = [];

    function setRoutes(array $routes)
    {
        $this->$routes = $routes;
    }
}    
?>

在其他文件route.php中:

<?php    
$routes = [
    'users' => 'users.php',
    'comments' => 'comments.php'
];    
?>

我像这样使用它:

<?php    
require __DIR__ .'/Data.php';
require __DIR__ .'/Router.php';
require __DIR__ .'/../routes.php';

$router = new Router;
$router->setRoutes($routes);
$url = $_SERVER['REQUEST_URI'];    
?>

但是我越来越

注意: /../XAMPP/xamppfiles/htdocs/TestPro/core/Router.php数组到字符串的转换

为什么会发生此错误?

您应该替换以下行:

$this->$routes = $routes;

通过:

$this->routes = $routes;

属性应在没有$情况下调用

您的问题是在类中使用私有变量,您需要将类更改为:

class Router {

    private $routes = array();

    function setRoutes(array $routes){

$ this-> routes = $ routes;

    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM