2013-05-05 5 views
1

В index.php файле Kohana, есть пункт у меня есть два вопроса:Kohana `index.php` метод цепочки и миньонов?

if (PHP_SAPI == 'cli') // Try and load minion 
{ 
class_exists('Minion_Task') OR die('Please enable the Minion module for CLI support.'); 
set_exception_handler(array('Minion_Exception', 'handler')); 

Minion_Task::factory(Minion_CLI::options())->execute(); 
} 
else 
{ 
/** 
* 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(TRUE, array(), FALSE) 
    ->execute() 
    ->send_headers(TRUE) 
    ->body(); 
} 

1), что является minion? 2) Что означает следующее?

->foo() 
->bar() 
->...etx 

- это только способ цепочки?

+0

1. Миньон - последователь, преданный служить своему хозяину! 2. Это функции внутри объекта, возможно, класса. – adeneo

ответ

1

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

Minion - это среда для выполнения задач через CLI.

См: https://github.com/kohana/minion

И: http://kohanaframework.org/3.3/guide/minion/

2) И да, что это метод цепочки, которые вы видите во второй части кода. Его можно так же легко переписать, как:

$request = Request::factory(TRUE, array(), FALSE); 
$response = $request->execute(); 
$response->send_headers(TRUE); 
echo $response->body(); 
+0

Обратите внимание: 'Request :: execute' возвращает объект' Response' (http://kohanaframework.org/3.3/guide-api/Request#execute). Итак, лучше изменить свой код, например: '$ response = $ request-> execute(); $ Response-> send_headers (TRUE); ... ' – biakaveron

+0

@biakaveron спасибо! обновил ответ – jszobody

Смежные вопросы