CSV を操作するデータ ソースを作成しようとしています。私はこの例に従っています
connections.php:
Connections::add('csv', [
'type' => 'file',
'adapter' => 'Csv',
]
);
アプリ/拡張機能/アダプター/データ/ソース/ファイル/Csv.php
namespace app\extensions\adapter\data\source\file;
use lithium\core\Libraries;
class Csv extends \app\extensions\adapter\data\source\File {
public function __construct(array $config = []) {
$defaults = [
'delimiter' => ',',
'enclosure' => '\"',
'escape' => '\\',
'path' => Libraries::get(true, 'resources') . '/file/csv',
];
$config += $defaults;
parent::__construct($config);
}
public function read($query, array $options = array()) {
print_r($query);
die();
}
}
アプリ/拡張機能/アダプター/データ/ソース/File.php
<?php
namespace app\extensions\adapter\data\source;
use lithium\core\Libraries;
class File extends \lithium\core\Object {
public function __construct(array $config = array()) {
$defaults = array(
'encoding' => 'UTF-8',
'path' => Libraries::get(true, 'resources') . '/file'
);
parent::__construct($config + $defaults);
}
}
?>
アプリ/モデル/Importers.php
<?php
namespace app\models;
class Importers extends \lithium\data\Model {
protected $_meta = [
'connection' => 'csv',
];
}
?>
コントローラーから呼び出すたびにImporters::find('all');
、エラーが発生します。
Fatal error: Call to undefined method app\extensions\adapter\data\source\file\Csv::configureClass() in ...
を定義するconfigureClass()
と、定義されていないという別のエラーが表示enable()
されます。ここで何が間違っているのかよくわかりません。