【发布时间】:2017-09-20 07:41:36
【问题描述】:
我的代码中出现此错误。
严格标准:SugarFieldTime::save() 的声明应与 C:\wamp\www\ 中的 SugarFieldBase::save(&$bean, $params, $field, $properties, $prefix = '') 兼容ArcusCRMDemo\include\SugarFields\Fields\Time\SugarFieldTime.php 在第 95 行
我还检查了可见性和参数列表以及初始值。
我的源代码:
SugarFieldBase.php
public function save(&$bean, $params, $field, $properties, $prefix = '')
{
if (isset($params[$prefix . $field])) {
if (isset($properties['len']) && isset($properties['type']) && $this->isTrimmable($properties['type'])) {
$bean->$field = trim($this->unformatField($params[$prefix . $field], $properties));
} else {
$bean->$field = $this->unformatField($params[$prefix . $field], $properties);
}
}
}
SugarFieldTime.php
function save(&$bean, $params, $field, $properties, $prefix = '') {
global $timedate;
if ( !isset($params[$prefix.$field]) ) {
$bean->$field = '';
return;
}
$bean->$field = $timedate->to_db_time($params[$prefix.$field], false);
}
【问题讨论】:
-
不确定问题是否出在引用上,但从逻辑上讲,不应允许通过引用传递值来覆盖传递值。当您调用父类时,您期望原始变量在传递应由子类保留的值类型时保持不变
-
我也试过了,但问题仍然无法解决
-
@Karthik 提示您未来的问题,如果您不引用任何内容,请不要使用块引号。
-
@matt 我听不懂你在说什么......
-
@Karthik 当我没有建议您尝试时,“我试过了”这句话没有任何意义
标签: php