PHP code example of tianhe1986 / fatevent

1. Go to this page and download the library: Download tianhe1986/fatevent library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

tianhe1986 / fatevent example snippets




use Fatevent\Fatevent;

Fatevent::on("test.test",
    function($eventData, $defaultData){
        //do something
    },
    "default data");

use Fatevent\Fatevent;
Fatevent::trigger("test.test", "event data");

function on($name, $handler, $data = null)


use Fatevent\Fatevent;

class Test
{
    public function deal($eventData, $defaultData)
    {
        echo $eventData . " " . $defaultData . "\n";
    }
}

function globalDeal($eventData, $defaultData)
{
    echo "Hello, ". $defaultData . " " . $eventData . "\n";
}

Fatevent::on("test.test",
    function($eventData, $defaultData){
        echo "First\n";
    },
    "default data1");

Fatevent::on("test.test", "globalDeal", "default data2");

$test = new Test();
Fatevent::on("test.test", [$test, "deal"], "default data3");

Fatevent::trigger("test.test", "event data");

function once($name, $handler, $data = null)

use Fatevent\Fatevent;

Fatevent::on("test.test",
    function($eventData, $defaultData){
        echo "First\n";
    },
    "default data1");

Fatevent::once("test.test",
    function($eventData, $defaultData){
        echo "Second\n";
    },
    "default data2");

Fatevent::trigger("test.test", "event data");
Fatevent::trigger("test.test", "event data");

use Fatevent\Fatevent;

Fatevent::on("test.test",
    function($data, $defaultData){
        echo "First\n";
        return false;
    },
    "default data");

Fatevent::on("test.test",
    function($data, $defaultData){
        echo "Second\n";
    },
    "default data");

Fatevent::trigger("test.test", "event data");

function off($name, $handler)

use Fatevent\Fatevent;

// 全局函数
Fatevent::off("test.test", "function_name");

// 对象方法
Fatevent::off("test.test", [$object, "methodName"]);

// 静态类方法
Fatevent::off("test.test", ["\Bar", "methodName"]);

trigger($name, $data = null)

use Fatevent\Fatevent;

Fatevent::on("test.test",
    function($eventData, $defaultData){
        echo $defaultData . " " . $eventData;
    },
    "Hello");

Fatevent::trigger("test.test", "World");

function ($eventData, $defaultData)