Rumah > rangka kerja php > ThinkPHP > Kuasai sepenuhnya pengikatan, pemantauan dan langganan acara thinkphp

Kuasai sepenuhnya pengikatan, pemantauan dan langganan acara thinkphp

WBOY
Lepaskan: 2022-04-13 21:04:32
ke hadapan
3710 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang thinkphp, yang terutamanya memperkenalkan isu berkaitan pengikatan, pemantauan dan langganan acara Kelebihan acara berbanding perisian tengah ialah peristiwa lebih baik daripada perisian tengah Untuk kedudukan yang lebih tepat , mari kita lihat di bawah ini saya harap ia akan membantu semua orang.

Kuasai sepenuhnya pengikatan, pemantauan dan langganan acara thinkphp

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Apakah itu acara

Kelebihan peristiwa berbanding perisian tengah ialah peristiwa diletakkan lebih tepat (atau lebih berbutir) daripada perisian tengah dan lebih sesuai untuk pengembangan beberapa senario perniagaan. Sebagai contoh, kami biasanya menghadapi pengguna yang perlu melakukan beberapa siri operasi selepas mendaftar atau log masuk. Melalui sistem acara, kami boleh melengkapkan pengembangan operasi log masuk tanpa menceroboh kod asal, mengurangkan gandingan sistem sementara masih memenuhi keperluan perniagaan .

Penggunaan acara dalam TP6

Penjelasan laman web rasmi, tiada contoh, di sini saya hanya akan memberitahu anda cara menggunakannya, anda akan mendapati lebih banyak operasi selepas menggunakannya

1. Pemantauan acara

  • Penjanaan baris arahan pemantauan php think make:listener UserLogin

Secara amnya disyorkan untuk membuat terus fail definisi acara (event.php) Tentukan pemantauan acara yang sepadan.

return [
    'bind'    =>    [
        'UserLogin' => 'app\event\UserLogin',
        // 更多事件绑定
    ],
    'listen'  =>    [
        'UserLogin'    =>    ['app\listener\UserLogin'],
        // 更多事件监听
    ],
];
Salin selepas log masuk

2. Langganan acara

  • Baris arahan php think make:subscribe User
    Kelas appsubscribeUser akan dijana secara lalai, atau anda boleh menentukan nama kelas lengkap untuk dijana .
<?php
namespace app\subscribe;

class User
{
    public function onUserLogin($user)
    {
        // UserLogin事件响应处理
    }

    public function onUserLogout($user)
    {
        // UserLogout事件响应处理
    }
}
Salin selepas log masuk

3. Langganan tersuai

Jika anda ingin menyesuaikan kaedah langganan (atau spesifikasi kaedah), anda boleh menentukan pelaksanaan kaedah langganan.

<?php
namespace app\subscribe;

use think\Event;

class User
{
    public function onUserLogin($user)
    {
        // UserLogin事件响应处理
    }

    public function onUserLogout($user)
    {
        // UserLogout事件响应处理
    }

    public function subscribe(Event $event)
    {
        $event->listen('UserLogin', [$this,'onUserLogin']);
        $event->listen('UserLogout',[$this,'onUserLogout']);
    }
}
Salin selepas log masuk

Kemudian daftarkan pelanggan acara dalam fail definisi acara

return [
    'bind'    =>    [
        'UserLogin' => 'app\event\UserLogin',
        // 更多事件绑定
    ],
    'listen'  =>    [
        'UserLogin'    =>    ['app\listener\UserLogin'],
        // 更多事件监听
    ],
    'subscribe'    =>    [
       'app\subscribe\User',
        // 更多事件订阅
    ],
];
Salin selepas log masuk

Pencetus peristiwa

// 触发UserLogin事件 用于执行用户登录后的一系列操作
Event::trigger('UserLogin');
或者使用助手函数
event('UserLogin');
Salin selepas log masuk

Kajian yang disyorkan: "Tutorial video PHP

Atas ialah kandungan terperinci Kuasai sepenuhnya pengikatan, pemantauan dan langganan acara thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan