error al inslarar yii2-admin


(Rafael Rosales) #1

Hola a todos estoy tratando de implementar la extension yii2-admin para el uso de rbac, lo configure segun este link:

al tratar de abrir mi app me da este error:


 PHP Compile Error – yii\base\ErrorException

Cannot use 'Object' as class name as it is reserved

y no me deja abrirlo, fui al fichero donde me da la ubicacion y esta configurado asi:


namespace yii\base;


use Yii;


/**

 * Object is the base class that implements the *property* feature.

 *

 * It has been replaced by [[BaseObject]] in version 2.0.13 because `object` has become a reserved word which can not be

 * used as class name in PHP 7.2.

 *

 * Please refer to [[BaseObject]] for detailed documentation and to the

 * [UPGRADE notes](https://github.com/yiisoft/yii2/blob/2.0.13/framework/UPGRADE.md#upgrade-from-yii-2012)

 * on how to migrate your application to use [[BaseObject]] class to make your application compatible with PHP 7.2.

 *

 * @author Qiang Xue <qiang.xue@gmail.com>

 * @since 2.0

 * @deprecated since 2.0.13, the class name `Object` is invalid since PHP 7.2, use [[BaseObject]] instead.

 * @see https://wiki.php.net/rfc/object-typehint

 * @see https://github.com/yiisoft/yii2/issues/7936#issuecomment-315384669

 */

class Object extends BaseObject {

    

}

neceito resolver esto, ya que necesito tener rbac en mi proyecto de yii2, le hecho de menos al cruge de yii1.1


(Rhf1898) #2

Hola, lo que dice el error es que desde php7.2 no se permite el nombre object en una clase. Esto se ha corregido a partir de Yii 2.0.13 según el link.

Mira la versión de yii2 que tienes instalada, y si esta bien será de alguna extensión que no esta actualizada.

saludos


(Rafael Rosales) #3

Gracias por responder, tengo la vesion yii 2.0.14, ¿es necesario tener tener php 7 en yii2


(Rhf1898) #4

No es necesario.

Por el error parece que estas utilizando php 7.2, pero por tu pregunta creo que utilizas 5.6.

Si tienes php 7.2 no permite la clase Object (es un nombre de clase reservado para php), que es el error que te esta dando.

Parece que Yii lo tienes bien actualizado para salvar este error.

Mira que archivo tiene esa clase Object, a quien pertenece si a Yii o a una extension.

Otra posibilidad es que hayas creado un componente interno para tu aplicación y lo extiendas de la clase Object, cambialo para que extienda de la clase BaseObject y ya esta solucionado.

saludos