#!/usr/bin/env php <?php /** * Yii Framework 2.0 API documentation generator * * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ defined('YII_DEBUG') or define('YII_DEBUG', false); $composerAutoload = [ __DIR__ . '/vendor/autoload.php', // standalone with "composer install" run __DIR__ . '/../../autoload.php', // script is installed as a composer binary ]; $vendorPath = null; foreach($composerAutoload as $autoload) { if (file_exists($autoload)) { require($autoload); $vendorPath = dirname($autoload); break; } } $yiiDirs = [ __DIR__ . '/../../framework', // in yii2-dev repo __DIR__ . '/vendor/yiisoft/yii2', // standalone with "composer install" run __DIR__ . '/../../yiisoft/yii2', // script is installed as a composer binary ]; foreach($yiiDirs as $dir) { if (file_exists($dir . '/Yii.php')) { require($dir . '/Yii.php'); break; } } if (!class_exists('Yii')) { echo PHP_EOL . "The Yii Framework 2.0 does not seem to be installed. Try running composer install." . PHP_EOL . PHP_EOL; exit(1); } Yii::setAlias('@yii/apidoc', __DIR__); $application = new yii\console\Application([ 'id' => 'yii2-apidoc', 'basePath' => __DIR__, 'enableCoreCommands' => false, 'controllerNamespace' => 'yii\\apidoc\\commands', ]); if ($vendorPath !== null) { $application->setVendorPath($vendorPath); } $exitCode = $application->run(); exit($exitCode);