Web ブラウザーから実行すると、インクルード パスが public/index.php に設定され、アプリケーションがブートストラップされます。同様に、public/index.php を (たとえば setup.php として) コピーして、コマンド ライン コードに含めることができます。また、必要なブートストラップ ビットをそのファイルにコピーします。
ZF2 には、MVC コマンド ライン スクリプトを作成できる「コンソール ルート」があることに注意してください。
これが私の setup.php です。"new Zend_Config" で構成をロードする方法に注目してください。コマンドライン(コンソール)から実行したいファイルでこのファイルを「要求」するだけです。
編集:「/relative/path/to/application/」にAPPLICATION_PATHを正しく設定する必要があります。
<?php
error_reporting(E_ALL & ~E_NOTICE | E_STRICT);
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/relative/path/to/application/'));
// Define application environment
define('APPLICATION_ENV', 'development');
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
require_once 'Zend/Application.php';
$app = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
$res = $app->getOption('resources');
$config = new Zend_Config($res);