virbo/yii2-wsfeeder

Web服务PDDIKTI Feeder库

安装: 96

依赖项: 0

建议者: 0

安全: 0

星星: 6

关注者: 2

分支: 6

开放问题: 0

类型:yii2-extension

1.03 2021-11-18 15:30 UTC

This package is auto-updated.

Last update: 2024-09-29 05:36:36 UTC


README

Yii2库用于Web服务PDDIKTI Feeder


安装

请确保您已安装Composer。如果尚未安装,请先按照getcomposer.org上的说明进行安装。

运行命令

php composer.phar require virbo/yii2-wsfeeder "~1.0"

或者添加以下行

"virbo/yii2-wsfeeder": "~1.0"

到文件 composer.json 然后运行命令

php composer.phar update

使用方法

将以下配置添加到文件 main.phpmain-local.phpweb.php

'components' => [
    ...
    'feeder' => [
        'class' => \virbo\wsfeeder\Feeder::class,
        'endpoint' => 'http://url_feeder:8082/ws',
        'username' => 'username_feeder',
        'password' => 'password_feeder'
    ],
    ...
],

默认情况下,连接的数据库是数据库 live。如果想要使用沙盒数据库,在上面的配置中添加属性 mode = 1。例如:

'components' => [
    ...
    'feeder' => [
        'class' => \virbo\wsfeeder\Feeder::class,
        'endpoint' => 'http://url_feeder:8082/ws',
        'username' => 'username_feeder',
        'password' => 'password_feeder',
        'mode' => 1     // 0 = Live, 1 = Sandbox
    ],
    ...
],

使用起来非常简单。以下是一些示例

获取字典

/*
 * mengambil dictionary dari setiap method. dalam contoh ini akan 
 * ditampilkan dictionary dari method InsertNilaiTransferPendidikanMahasiswa
 * */
public function actionDictionary()
{
    $data = [
        'act' => 'GetDictionary',
        'fungsi' => 'InsertNilaiTransferPendidikanMahasiswa'
    ];
    return Yii::$app->feeder->actFeeder($data);
}

查看数据

/*
 * menampilkan data mahasiswa sebanyak 10 data.
 * */
public function actionListData()
{
    $data = [
        'act' => 'GetListMahasiswa',
        'filter' => null,
        'order' => null,
        'limit' => 10,
        'offset' => 0
    ];
    return Yii::$app->feeder->actFeeder($data);
}

过滤数据

/*
 * Filter data mahasiswa berdasarkan id mahasiswa (untuk list field2 yang
 * ada di method GetListMahasiswa, bisa diliat menggunakan method GetDictionary.
 * */
public function actionFilterData()
{
    $data = [
        'act' => 'GetListMahasiswa',
        'filter' => "id_mahasiswa = '0d06b023-0ff6-4a08-a8d2-a9e31b39a095'",
        'order' => null,
        'limit' => 10,
        'offset' => 0
    ];
    return Yii::$app->feeder->actFeeder($data);
}

插入数据

/*
 * Insert data. dalam contoh ini insert biodata mahasiswa menggunakan
 * method InsertBiodataMahasiswa
 * */
public function actionInsertData()
{
    $data = [
        'act' => 'InsertBiodataMahasiswa',
        'record' => [
            'nama_mahasiswa' => 'Pangeran Khairan Asshabir Y Ayuba',
            'jenis_kelamin' => 'L',
            'tempat_lahir' => 'Banggai',
            'tanggal_lahir' => '2009-09-02',
            'id_agama' => 1,
            'nik' => '1234567890098765',
            'nisn' => null,
            'npwp' => null,
            'kewarganegaraan' => 'ID',
            'jalan' => 'Jl. Burung Mas Kompleks Gorontalo',
            'dusun' => null,
            'rt' => 5,
            'rw' => 0,
            'kelurahan' => 'Kelurahan Tano Bonunungan',
            'kode_pos' => null,
            'id_wilayah' => 180102,
            'id_jenis_tinggal' => 1,
            'id_alat_transportasi' => null,
            'telepon' => null,
            'handphone' => null,
            'email' => null,
            'penerima_kps' => 0,
            'nomor_kps' => null,
            'nik_ayah' => '9087654321234567',
            'nama_ayah' => 'Yusuf Ayuba',
            'tanggal_lahir_ayah' => '1980-08-23',
            'id_pendidikan_ayah' => 35,
            'id_pekerjaan_ayah' => 6,
            'id_penghasilan_ayah' => 13,
            'nik_ibu' => '8907654321234567',
            'nama_ibu_kandung' => 'Isfatian',
            'tanggal_lahir_ibu' => '1982-11-23',
            'id_pendidikan_ibu' => 20,
            'id_pekerjaan_ibu' => 9,
            'id_penghasilan_ibu' => 14,
            'nama_wali' => null,
            'tanggal_lahir_wali' => null,
            'id_pendidikan_wali' => null,
            'id_pekerjaan_wali' => null,
            'id_penghasilan_wali' => null,
            'id_kebutuhan_khusus_mahasiswa' => 0,
            'id_kebutuhan_khusus_ayah' => 0,
            'id_kebutuhan_khusus_ibu' => 0
        ]
    ];
    
    return Yii::$app->feeder->actFeeder($data);
}

更新数据

/*
 * Update data berdasarkan id. Dalam contoh ini update data mahasiswa berdasarkan ID mahasiswa
 * */
public function actionUpdateData()
{
    $data = [
        'act' => 'UpdateBiodataMahasiswa',
        'key' => [
            'id_mahasiswa' => '0d06b023-0ff6-4a08-a8d2-a9e31b39a095'
        ],
        'record' => [
            'nama_mahasiswa' => 'Pangeran Khairan Asshabir Yusuf Ayuba',
        ]
    ];
    
    return Yii::$app->feeder->actFeeder($data);
}

删除数据

/*
 * Delete data. dalam contoh ini menghapus data mahasiswa berdasarkan ID mahasiswa
 * */
public function actionDeleteData()
{
    $data = [
        'act' => 'DeleteBiodataMahasiswa',
        'key' => [
            'id_mahasiswa' => '0d06b023-0ff6-4a08-a8d2-a9e31b39a095'
        ],
    ];
    
    return Yii::$app->feeder->actFeeder($data);
}

通过使用 actFeeder 函数,我们可以显示现有方法的 dictionary,也可以用来显示数据和执行插入/更新数据,甚至可以删除数据。

完整方法列表可以通过以下页面查看:http://alamat_feeder/ws/live2.phphttp://alamat_feeder/ws/sandbox2.php

讨论

如果您有任何想要讨论的内容,请随时通过电子邮件或社交媒体联系我。

!!! 享受编码时光 :)