AVETMISS 验证和报告生成

4.5.0 2019-11-28 23:52 UTC

README

这个库旨在帮助生成 AVETMISS NAT 文件。

Build Status

安装

通过 Composer

$ composer require bluedogtraining/avetmiss

使用方法

库背后的想法非常简单。

  1. 创建带有字段定义的 fieldset(或使用捆绑的 fieldset)
  2. 使用 fieldset 初始化一个文件。
  3. 从文件中创建一行。
  4. 填充行。
  5. 将填充的行添加回文件。
  6. 导出文件。
use Bdt\Avetmiss\File;
use Bdt\Avetmiss\Nat\V7\Nat120;

// array of student courses, pulled from the database
$studentcourses = DB::getStudentCourses();

// initiate a new nat file
$file = new File(new Nat120);

// loop through the studentcourses and add them to the file
foreach($this->studentcourses as $studentcourse) {

    try {
        $row = $file->createRow();
        
        $row->set('client_id', $studentcourse->Student->id);
        $row->set('subject_id', $studentcourse->Course->id);
        //...
        
        $file->writeRow($row);
    } catch(Exception $e) {
        // Display or log any errors.
    }
}

$file->export('nat120.txt');

扩展

库附带了对 AVETMISS 版本 7 NAT 文件的初步 Fieldset 定义。

如果需要,您可以很容易地添加自己的 NAT 文件。

$myFieldset = new Fieldset([
    Field::make('date')->name('enrolment_date')->length(8),
    Field::make('numeric')->name('state_id')->length(2)->pad('0')->in(Config::keys('states')),
]);

或自定义规则。

class MyOwnConfig extends Config
{
    protected static $deliveryTypes = [
        10 => 'Classroom-based',
        20 => 'Electronic based',
        30 => 'Employment based',
        40 => 'Other delivery (eg correspondence)',
        90 => 'Not applicable - recognition of prior learning/ recognition of current competency/ credit transfer'
    ];
}

框架集成

Laravel 5

这个库附带了一个服务提供者,用于添加针对 AVETMISS NAT 字段的验证规则。

要使用它,首先将 Bdt\Avetmiss\Frameworks\Laravel\ValidationServiceProvider 添加到 config/app.php 中的 providers 数组。

$validator = Validator::make([
    'my_start_date' => '01022000'
], [
    'my_start_date' => 'avetmiss:nat120,activity_start_date'
]);

$isValid = $validator->passes();

您可以选择向 avetmiss 规则传递第三个布尔参数,以强制执行最大字符串长度。

Zend Framework 1

这个库附带了一个基于 AVETMISS NAT 字段的创建 Zend Framework 1 验证器的工具。

$factory = new Bdt\Avetmiss\Frameworks\Zf1\ValidatorFactory;
$validator = $factory->create('nat120', 'activity_start_date');
$validator->isValid('my_start_date');

您可以选择向 ValidatorFactory::create 方法传递第三个布尔参数,以强制执行最大字符串长度。

变更日志

请参阅 CHANGELOG 了解最近更改的信息。

测试

$ composer test

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件

署名

此库基于提供在 AVETMISS VET 提供者收集规范 的信息,该规范受 Creative Commons Attribution 3.0 Australia 许可证 的许可。