Я только начал использовать задания cron с ZF2. В прошлом я бы создал папку ниже public_html и очень часто вызывал файл, используя cpanel. Таким образом, все работает нормально, и на моем сервере может быть легко запущено отдельное приложение для работы с cron, но это побеждает объект, так как я был уверен, что ZF2 будет иметь дело с общим требованием.
Как есть, так и есть, и очень мало строк кода, и cron не доступны в представлениях.
Потратьте пять минут, чтобы прочитать о маршрутизации консоли .
Это действительно просто в использовании. Я создал модуль Cron:
Cron
config
module.config.php
src
Cron
Controller
IndexController.php
autoload_classmap.php
Module.php
Как вы можете видеть, никакие представления не были включены и не требуются, поскольку мы решили использовать маршрут console , как вы можете видеть в модуле ниже:
module.config.php
return array(
// Placeholder for console routes
'controllers' => array(
'invokables' => array(
'Cron\Controller\IndexController' => 'Cron\Controller\IndexController'
),
),
'console' => array(
'router' => array(
'routes' => array(
//CRON RESULTS SCRAPER
'my-first-route' => array(
'type' => 'simple', // <- simple route is created by default, we can skip that
'options' => array(
'route' => 'hello',
'defaults' => array(
'controller' => 'Cron\Controller\IndexController',
'action' => 'index'
)
)
)
),
),
),
);
Файл IndexController ::
<?php
// Cron/src/Cron/Controller/IndexController.php
namespace Cron\Controller;
use Zend\Mvc\Controller\AbstractActionController;
class CronController extends AbstractActionController
{
public function indexAction()
{
echo "hello";
echo "\r\n";
}
}
Не забудьте включить новый модуль в ваш основной файл конфигурации, иначе он не будет работать!
The autoload_classmap.php and Module.php files are standard.
Теперь часть, которая немного расплывчата в руководстве по Zend, - это как вызвать это из командной строки.
Из консоли перейдите к транку (или public_html) (каталог перед общедоступным) и выполните:
path/to/trunk>php public/index.php hello
Будет выведено:
hello
path/to/trunk>
Если вы хотите, вы можете вырезать и вставить код из: http://collabedit.com/58v4v
Если вы никогда раньше не использовали консоль для запуска php-файла, по сути, вам нужно начать с «php», а затем «php file name». Вы можете вызвать любой php-файл, как этот ...
Удачи