Использование классов Kohana в Install.php

Я пытаюсь запустить классы kohana в файле install.php, но мне не повезло, я переместил туда, где он включен в index.php ниже загружается bootstrap.php, надеясь, что это сработает, но это не удается, у кого-нибудь есть идеи?

Спасибо

Вот соответствующая часть моего install.php

if (isset($_REQUEST['license'])) {
        $spbas = new spbas;

        //validate license key
        $spbas->license_key = $_REQUEST['license'];

        // Do work!
        $spbas->validate();

        // Check for errors
        if ($spbas->errors) {
            echo json_encode(array(
                'status' => 'error',
                'message' => $spbas->errors
            ));
            die();
        } else {
            echo json_encode(array('status' => 'success'));
        }

        // Cleanup
        unset($spbas);

}

Вот index.php

<?php
/**
 * The directory in which your application specific resources are located.
 * The application directory must contain the bootstrap.php file.
 *
 * @see  http://kohanaframework.org/guide/about.install#application
 */
$application = 'application';

/**
 * The directory in which your modules are located.
 *
 * @see  http://kohanaframework.org/guide/about.install#modules
 */
$modules = 'modules';

/**
 * The directory in which the Kohana resources are located. The system
 * directory must contain the classes/kohana.php file.
 *
 * @see  http://kohanaframework.org/guide/about.install#system
 */
$system = 'system';

/**
 * The default extension of resource files. If you change this, all resources
 * must be renamed to use the new extension.
 *
 * @see  http://kohanaframework.org/guide/about.install#ext
 */
define('EXT', '.php');

/**
 * Set the PHP error reporting level. If you set this in php.ini, you remove this.
 * @see  http://php.net/error_reporting
 *
 * When developing your application, it is highly recommended to enable notices
 * and strict warnings. Enable them by using: E_ALL | E_STRICT
 *
 * In a production environment, it is safe to ignore notices and strict warnings.
 * Disable them by using: E_ALL ^ E_NOTICE
 *
 * When using a legacy application with PHP >= 5.3, it is recommended to disable
 * deprecated notices. Disable with: E_ALL & ~E_DEPRECATED
 */
error_reporting(E_ALL | E_STRICT);

/**
 * End of standard configuration! Changing any of the code below should only be
 * attempted by those with a working knowledge of Kohana internals.
 *
 * @see  http://kohanaframework.org/guide/using.configuration
 */

// Set the full path to the docroot
define('DOCROOT', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);

// Make the application relative to the docroot, for symlink'd index.php
if ( ! is_dir($application) AND is_dir(DOCROOT.$application))
    $application = DOCROOT.$application;

// Make the modules relative to the docroot, for symlink'd index.php
if ( ! is_dir($modules) AND is_dir(DOCROOT.$modules))
    $modules = DOCROOT.$modules;

// Make the system relative to the docroot, for symlink'd index.php
if ( ! is_dir($system) AND is_dir(DOCROOT.$system))
    $system = DOCROOT.$system;

// Define the absolute paths for configured directories
define('APPPATH', realpath($application).DIRECTORY_SEPARATOR);
define('MODPATH', realpath($modules).DIRECTORY_SEPARATOR);
define('SYSPATH', realpath($system).DIRECTORY_SEPARATOR);

// Clean up the configuration vars
unset($application, $modules, $system);



/**
 * Define the start time of the application, used for profiling.
 */
if ( ! defined('KOHANA_START_TIME'))
{
    define('KOHANA_START_TIME', microtime(TRUE));
}

/**
 * Define the memory usage at the start of the application, used for profiling.
 */
if ( ! defined('KOHANA_START_MEMORY'))
{
    define('KOHANA_START_MEMORY', memory_get_usage());
}

// Bootstrap the application
require APPPATH.'bootstrap'.EXT;
//require core assets
require_once SYSPATH . 'classes/kohana/spbas' . EXT;

if (file_exists('install'.EXT))
{
    // Load the installation check
    return include 'install'.EXT;
}
/**
 * Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
 * If no source is specified, the URI will be automatically detected.
 */
echo Request::factory()
    ->execute()
    ->send_headers()
    ->body();

person Clark T.    schedule 31.05.2012    source источник
comment
Покажите примеры того, что вы пытаетесь   -  person random    schedule 01.06.2012
comment
По сути, я пытаюсь запустить процесс инициализации kohanas раньше, чтобы я мог использовать классы kohana в файле install.php.   -  person Clark T.    schedule 01.06.2012
comment
Что он не может найти какой-либо класс коханы, такой как класс DB или мой пользовательский, загруженный в загрузчик, или любой другой в этом отношении.   -  person Clark T.    schedule 01.06.2012
comment
Вы должны просто удалить файл install.php. И файлы Kohana загружаются с ленивой автозагрузкой.   -  person Haralan Dobrev    schedule 01.06.2012
comment
Я изменил install.php для своих целей, он будет установщиком для скрипта, который я написал с использованием фреймворка.   -  person Clark T.    schedule 01.06.2012


Ответы (2)


В итоге я перешел от выполнения этого через установщик к созданию контроллера и обработке его (правильным) способом.

person Clark T.    schedule 26.06.2012

Вам следует удалить файл install.php после того, как вы убедились, что можете запустить Kohana. Kohana позаботится о загрузке классов для вас с помощью автозагрузки и вашего файла boostrap.php.

person gspatel    schedule 01.06.2012
comment
Установщик был изменен, чтобы установить сценарий, который я написал с помощью структуры, которая побеждает мою цель. - person Clark T.; 01.06.2012