Perkhidmatan sistem


.

Kaedah pendaftaran

Kaedah pendaftaran biasanya digunakan untuk mendaftar perkhidmatan sistem, sama seperti penyedia perkhidmatan di Laravel, contohnya:

php think make:service  FileSystemService
kaedah pendaftaran tidak memerlukan parameter
<?php
namespace app\service;

use my\util\FileSystem;

class FileSystemService extends Service
{
    public function register()
    {
        $this->app->bind('file_system', FileSystem::class);
    }
}

kaedah mula

kaedah mula

digunakan untuk menentukan Operasi yang perlu dilakukan sebelum memulakan perkhidmatan sistem. Contohnya:

<?php
namespace app\service;

use my\util\FileSystem;

class FileSystemService extends Service
{
    public $bind = [
        'file_system'    =>    FileSystem::class,
    ];
}

Pendaftaran perkhidmatan

Tentukan perkhidmatan sistem dalam perkhidmatan fail awam global.php aplikasi, dan sistem akan melengkapkan pendaftaran dan permulaan secara automatik. Contohnya:

<?php
namespace think\captcha;

use think\Route;
use think\Service;
use think\Validate;

class CaptchaService extends Service
{
    public function boot(Route $route, Validate $validate)
    {
        $route->get('captcha/[:config]', "\think\captcha\CaptchaController@index");
        $validate->extend('captcha', function ($value) {
            return captcha_check($value);
        },  ':attribute错误!');
    }
}

Jika anda perlu mendaftar perkhidmatan sistem dalam sambungan anda, mula-mula tambah kelas perkhidmatan dalam sambungan, kemudian tambah definisi berikut dalam fail composer.json sambungan:

return [
    '\app\service\ConfigService',
    '\app\service\CacheService',
];

Sistem akan melaksanakannya secara automatik selepas memasang sambungan Perintah service:discover digunakan untuk menjana senarai perkhidmatan dan mendaftarkannya secara automatik semasa pemulaan sistem.