Cakephp Strict(2048):CsvImportBehavior::setup()的声明应与ModelBehavior兼容
我得到以下错误:Cakephp Strict(2048):CsvImportBehavior::setup()的声明应与ModelBehavior兼容,cakephp,cakephp-2.3,cakedc,Cakephp,Cakephp 2.3,Cakedc,我得到以下错误: Strict (2048): Declaration of CsvImportBehavior::setup() should be compatible with ModelBehavior::setup(Model $model, $config = Array) [APP\Plugin\Utils\Model\Behavior\CsvImportBehavior.php, line 20] 我遵循了本网站上的教程: 当我导入我的CSV文件时,它会显示以下flash消
Strict (2048): Declaration of CsvImportBehavior::setup() should be compatible
with ModelBehavior::setup(Model $model, $config = Array)
[APP\Plugin\Utils\Model\Behavior\CsvImportBehavior.php, line 20]
我遵循了本网站上的教程:
当我导入我的CSV文件时,它会显示以下flash消息:
Successfully imported 0 records from Book1.csv
我不明白为什么它不导入,它是否与它给出的错误/警告有关
我查看了行为内部(第20行的CsvImportBehavior.php):类CsvImportBehavior扩展了ModelBehavior{
这在第20行没有意义,那只是类声明,所以我向下看代码,看到了以下内容:
公共函数设置(Model&$Model,$settings=array()){
——在我看来,这似乎符合标准。要抑制错误/警告,请尝试:
- 删除
之前的&
(不需要,因为Model是一个对象,因此已通过byref传递)$Model
- 将
重命名为$Model
(小写)$Model
- 将
重命名为$settings
$config
CSV数据源
,作为数据源插件的一部分
使用此功能,您可以创建一个模型,该模型不使用数据库,而是使用CSV文件作为其源
$csvData = $this->MyCsvModel->find('all');
这将返回CSV文件中的所有行。通过将$csvData
保存到另一个模型,将其导入数据库将很容易实现
链接:
变量的命名是不相关的。只要删除
&
IMO就足够了。@mark谢谢,我没有在我的计算机后面,也不确定它是否也要求参数名与严格模式下的兼容签名相匹配(我个人讨厌变量名不一致,尤其是{@inheritdoc}
在你的PhpDoc中没有任何意义)。我会更新我的答案你是对的。这都是关于一致性的。只需说:)@mark Guess我比php严格。我将提交一个功能请求来添加php狂热严格模式:DHi伙计们,我删除了&before$模型,并删除了警告。非常感谢。