bluedogtraining / avetmiss
AVETMISS 验证和报告生成
4.5.0
2019-11-28 23:52 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- illuminate/validation: 5.*|6.*|7.*
- phpunit/phpunit: 4.*
- zendframework/zendframework1: 1.*
Suggests
- illuminate/validation: Allows Laravel 5 validation integration
- zendframework/zendframework1: Allows Zend Framework 1 validation integration
README
这个库旨在帮助生成 AVETMISS NAT 文件。
安装
通过 Composer
$ composer require bluedogtraining/avetmiss
使用方法
库背后的想法非常简单。
- 创建带有字段定义的 fieldset(或使用捆绑的 fieldset)
- 使用 fieldset 初始化一个文件。
- 从文件中创建一行。
- 填充行。
- 将填充的行添加回文件。
- 导出文件。
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 许可证 的许可。