2015-12-07 2 views
5

My Acl admin поврежден, и я понятия не имею, почему, поскольку я ничего не изменил, когда он работал.Ошибка CakePHP: класс 'String' не найден в Acl

Когда я иду в /acl, я получаю следующее сообщение об ошибке:

Error: Class 'String' not found File: /app/Plugin/Acl/Controller/Component/AclReflectorComponent.php
Line: 17

public function getPluginName($ctrlName = null) 
{ 
    $arr = String::tokenize($ctrlName, '/'); <----- Line: 17 
    if (count($arr) == 2) { 
     return $arr[0]; 
    } else { 
     return false; 
    } 
} 

я проверил, что в $ctrlName и значение Acl/Acl.

Я полностью потерялся здесь, что мне делать?

ответ

12

Чтобы сделать CakePHP совместимым с PHP7, класс String устарел от CakePHP 2.7 в пользу класса CakeText.

Вам необходимо загрузить обновленную версию вашего плагина Acl.

Если вы не можете найти то, что вы должны сделать все, что нужно сделать String с помощью CakeText.

+0

спасибо. Это сработало! – flaggalagga

+0

Спасибо! Я использовал String в своем пользовательском классе и получаю эту ошибку. Я заменил String на CakeText, и теперь он работает. – matheusvmbruno