<?php
//このコードの改変・再配布等は全く自由に行って構いません
function _loadFixtures() {
parent::_loadFixtures();
if (empty($this->_fixtures)) {
$this->_fixtures = array();
}
foreach($this->fixtures as $fixture) {
if(isset($this->_fixtures[$fixture])) {
continue;
}
if(preg_match('/^app\.(\w+)$/', $fixture, $m)) {
$this->_generateFixture($fixture, $m[1]);
}
}
if (empty($this->_fixtures)) {
unset($this->_fixtures);
}
}
function _generateFixture($fixture, $name) {
$Name = Inflector::camelize($name);
$table = Inflector::tableize($Name);
$fixtureClass = $Name . 'Fixture';
$schemaVar = '$import';
$schema = array('table' => $table);
if(!class_exists($fixtureClass)) {
$code = '
class '. $fixtureClass .' extends CakeTestFixture {
var $name = "'. $Name .'";
var '. $schemaVar .' = '. var_export($schema, true) .';
}
';
eval($code);
}
$this->_fixtures[$fixture] =& new $fixtureClass($this->db);
$this->_fixtureClassMap[$Name] = $fixture;
}