String PHP5.4中的cakephp非法偏移量字符串
密特尔埃尔珀String PHP5.4中的cakephp非法偏移量字符串,string,cakephp,String,Cakephp,密特尔埃尔珀 public function url($url = null, $full = false) { if(empty($url['lang']) && isset($this->params['lang'])) { $url['lang'] = $this->params['lang']; } return parent::url($url, $full); } AppH
public function url($url = null, $full = false) {
if(empty($url['lang']) && isset($this->params['lang'])) {
$url['lang'] = $this->params['lang'];
}
return parent::url($url, $full);
}
AppHelper
public function url($url = null, $full = false) {
if (empty($url['lang'])) {
$url['lang'] = $this->params['lang'];
}
return parent::url($url, $full);
}
当我跑的时候。应用程序警告cakephp非法偏移量lang。。。。。
如何修复错误首先检查您测试的值是否已实际设置 更改此项:
if(empty($url['lang']) && isset($this->params['lang'])) {
$url['lang'] = $this->params['lang'];
}
致:
我不确定我是否有正确的方法来实现你的目标。在我的示例中,我正在检查$url['lang']的值是否未设置或为空。您可能希望检查它是否已设置且为空
在AppHelper上也使用相同的技术来解决您的问题。您需要将is\u array$url添加到验证中。 或者您可能会得到“非法字符串偏移量‘语言’”
function url($url = null, $full = false) {
if(!isset($url['language']) && is_array($url) && isset($this->params['language']))
{
$url['language'] = $this->params['language'];
}
return parent::url($url, $full);
}
function url($url = null, $full = false) {
if(!isset($url['language']) && is_array($url) && isset($this->params['language']))
{
$url['language'] = $this->params['language'];
}
return parent::url($url, $full);
}