maliklibs/zkteco

ZKTeco Laravel Library - Compatible with Laravel 6, 8, 9, 10

dev-main 2025-07-19 16:30 UTC

This package is auto-updated.

Last update: 2025-07-19 16:30:58 UTC


README

Issues Forks Stars Total Downloads License Laravel Version

The maliklibs/zkteco package provides easy to use functions to ZKTeco Device activities.

Requires: Laravel >= 6.0 | PHP >= 7.4

Compatible with: Laravel 6.x, 8.x, 9.x, 10.x

License: MIT or later

Installation

You can install the package via composer:

composer require maliklibs/zkteco

The package will automatically register itself.

Configuration (Optional)

Publish the configuration file:

php artisan vendor:publish --provider="maliklibs\Zkteco\Providers\ZktecoServiceProvider" --tag="zkteco-config"

This will create a config/zkteco.php file where you can customize the default settings.

Environment Variables

You can also set these environment variables in your .env file:

ZKTECO_IP=192.168.1.201
ZKTECO_PORT=4370
ZKTECO_TIMEOUT=5
ZKTECO_DEBUG=false

Usage

Method 1: Using Facade (Recommended)

use maliklibs\Zkteco\Facades\ZKTeco;

// Connect to device
ZKTeco::connect();

// Get device version
$version = ZKTeco::version();

// Get users
$users = ZKTeco::getUser();

// Get attendance
$attendance = ZKTeco::getAttendance();

// Disconnect
ZKTeco::disconnect();

Method 2: Using Dependency Injection

use maliklibs\Zkteco\Lib\ZKTeco;

class AttendanceController extends Controller
{
    public function index(ZKTeco $zk)
    {
        $zk->connect();
        $attendance = $zk->getAttendance();
        $zk->disconnect();
        
        return response()->json($attendance);
    }
}

Method 3: Manual Instantiation

use maliklibs\Zkteco\Lib\ZKTeco;

// 1st parameter is string $ip Device IP Address
// 2nd parameter is integer $port Default: 4370
// 3rd parameter is integer seconds (socket default read timeout)
$zk = new ZKTeco('192.168.1.201', 4370, 5);

// Connect
$zk->connect();

// Use device methods
$version = $zk->version();
$users = $zk->getUser();

// Disconnect
$zk->disconnect();

Available Methods

Connection Management

  • Connect
// Connect to device
// Returns bool
$zk->connect();   
  • Disconnect
// Disconnect from device
// Returns bool
$zk->disconnect();   

Device Control

  • Enable Device
// Enable device
// Returns bool/mixed
$zk->enableDevice();   

NOTE: You have to call after read/write any info of Device.

  • Disable Device
// Disable device
// Returns bool/mixed
$zk->disableDevice(); 

NOTE: You have to call before read/write any info of Device.

  • Power Off
// Turn off the device
// Returns bool/mixed
$zk->shutdown(); 
  • Restart
// Restart the device
// Returns bool/mixed
$zk->restart(); 
  • Sleep
// Sleep the device
// Returns bool/mixed
$zk->sleep(); 
  • Resume
// Resume the device from sleep
// Returns bool/mixed
$zk->resume(); 

Device Information

  • Device Version
// Get device version
// Returns bool/mixed
$zk->version(); 
  • Device OS Version
// Get device OS version
// Returns bool/mixed
$zk->osVersion(); 
  • Platform
// Get platform
// Returns bool/mixed
$zk->platform(); 
  • Firmware Version
// Get firmware version
// Returns bool/mixed
$zk->fmVersion(); 
  • Serial Number