在插件上下文中,我正在编写一个shell子命令,我需要调用该模式的公共方法:
// app\Plugin\FooManager\Config\Schema\schema.php
App::uses('BaseSchema', 'FooManager.Config/Schema');
class FooManagerSchema extends BaseSchema {
public function getLocalisableValues() {
}
}
像往常一样,我无法弄清楚语法。
// app\Plugin\FooManager\Console\Command\DevShell.php
class DevShell extends AppShell {
public function i18n_dump_database_values() {
$schema = ????????;
$schema->getLocalisableValues();
}
}
如何将FooManagerSchema
的实例加载到$schema
?
答案 0 :(得分:0)
可耻的无蛋糕解决方法,让它不惜任何代价(请不要在家尝试,小猫可能会受伤):
// app\Plugin\FooManager\Console\Command\DevShell.php
class DevShell extends AppShell {
public function i18n_dump_database_values() {
// Ugly (and will possibly break things):
include_once(__DIR__ . '/../../../../../lib/Cake/Model/CakeSchema.php');
include_once(__DIR__ . '/../../Config/Schema/schema.php');
$schema = new FooManagerSchema();
$schema->getLocalisableValues();
}
}