php:fuelphp:oil_refine_tasks

oil タスクの作成と実行

FuelPHP では アプリケーションに関する様々なタスクを定義して実行することができる。

$ oil r

または

$ oil refine
Usage:
    php oil [r|refine] <taskname>

Description:
    Tasks are classes that can be run through the the command line or set up as a cron job.

Available tasks:
    php oil refine install
    php oil refine migrate:__construct
    php oil refine migrate:__call
    php oil refine migrate:help
    php oil refine session
    php oil refine session:create
    php oil refine session:remove
    php oil refine session:clear
    php oil refine session:help
    php oil refine robots
    php oil refine robots:protect

Documentation:
    http://docs.fuelphp.com/packages/oil/refine.html
  1. タスクを書くための php ファイルを用意する。
    fuelapp/app/tasks/testdata.php<sxh php collapse:true>

<?php

namespace Fuel\Tasks;

class Testdata {

  /**
   * fuelappのテストデータをデータベースに生成します。
   *
   * Usage (from command line):
   *
   * php oil r testdata
   *
   * @return string
   */
  public static function run()
  {
      static::tablenames();
  }
  
  // <editor-fold defaultstate="collapsed" desc="tablenames">
  /**
   * t_simulations にテストデータを生成します。
   *
   * Usage (from command line):
   *
   * php oil r testdata:tablenames
   *
   * @return string
   */
  public static function tablenames()
  {
      // t_simulations をクリア
      \DBUtil::truncate_table(\Model_Tablename::table());
      
      // <editor-fold defaultstate="collapsed" desc="テストデータ">
      $tablenames_array = array(
          array(
              'column1'       => 'testname',
              'column2'       => 1234567890,
              'column3'       => \Date::forge()->format('mysql'),
              'column4'       => 'TextTextTextTextText',
              'created_at'    => '',
              'updated_at'    => '',
          ),
      );
      // </editor-fold>
      $count_max = 1000;
      
      for ($count = 0; $count < $count_max; $count++)
      {
          foreach ($tablenames_array as $row_data)
          {
              $at_date = \Date::forge()->format('mysql');
              /* @var $row \Model_Tablename */
              $row = \Model_Tablename::forge();
              $row->column1       = $row_data['column1'];
              $row->column2       = $row_data['column2'];
              $row->column3       = $row_data['column3'];
              $row->column4       = $row_data['column4'];
              // レコードを保存
              $row->save();
          }
      }
  }
  // </editor-fold>

} </sxh>

  1. タスクを実行する。
    $ oil r testdata
  • php/fuelphp/oil_refine_tasks.txt
  • 最終更新: 2019/08/19 07:06
  • by ともやん