Zend framework 原则CLI:注册新的自定义任务
我使用的是信条1.2和ZF 1.10。我的Doctrine CLI设置很好,可以执行默认任务。但是我已经创建了几个类,我希望能够从命令行执行它们。如何设置application.ini或doctor.php来注册和使用这些新类?例如,我希望能够执行应用程序路径。“/job/Migrate.php”,它只是一个Migrate()类,有一个公共方法run(),类似Zend framework 原则CLI:注册新的自定义任务,zend-framework,doctrine,doctrine-1.2,Zend Framework,Doctrine,Doctrine 1.2,我使用的是信条1.2和ZF 1.10。我的Doctrine CLI设置很好,可以执行默认任务。但是我已经创建了几个类,我希望能够从命令行执行它们。如何设置application.ini或doctor.php来注册和使用这些新类?例如,我希望能够执行应用程序路径。“/job/Migrate.php”,它只是一个Migrate()类,有一个公共方法run(),类似 php.exe doctrine custom-migrate my application.ini的代码片段 [production
php.exe doctrine custom-migrate
my application.ini的代码片段
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../lib"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
resources.frontController.controllerDirectory = APPLICATION_PATH "/modules/default/controllers"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
autoloaderNamespaces[] = "Doctrine"
; ---
; Database
; ---
doctrine.dsn = "mysql://user@pwd@localhost/db_name"
doctrine.data_fixtures_path = APPLICATION_PATH "/configs/data/fixtures"
doctrine.sql_path = APPLICATION_PATH "/configs/data/sql"
doctrine.migrations_path = APPLICATION_PATH "/configs/migrations"
doctrine.yaml_schema_path = APPLICATION_PATH "/configs/schema.yml"
doctrine.models_path = APPLICATION_PATH "/models"
doctrine.generate_models_options.pearStyle = true
doctrine.generate_models_options.generateTableClasses = false
doctrine.generate_models_options.generateBaseClasses = true
doctrine.generate_models_options.baseClassPrefix = "Base_"
doctrine.generate_models_options.baseClassesDirectory =
doctrine.generate_models_options.classPrefixFiles = false
doctrine.generate_models_options.classPrefix = "Model_"
my doctrine.php的片段
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
$application->getBootstrap()->bootstrap('doctrine');
$config = $application->getOption('doctrine');
$cli = new Doctrine_Cli($config);
$cli->run($_SERVER['argv']);
通过
application.ini
的选项,恐怕这是不可能的。这里最简单的解决方案是扩展执行Cli任务的Cli
最简单并不意味着最好
你看过吗
您可以创建自定义的Zend工具提供程序。我正在观看这个ZC,它可能会满足我的需要。它是关于在应用程序中使用Zend_工具的。