PHP code example of philippgrashoff / handlerforatk
1. Go to this page and download the library: Download philippgrashoff/handlerforatk 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/ */
philippgrashoff / handlerforatk example snippets
//after save implementation in a Tour Model
$this->onHook(
Model::HOOK_AFTER_SAVE,
function (self $tour) {
CalendarCacheController::handleTourChange($tour);
StockController::handleTourChange($tour);
}
);
//A model that publishes an event
class SomeModel extends Model
{
use InvokeModelBrokerTrait;
protected function init(): void
{
$this->publish(Model::HOOK_AFTER_SAVE); //in here we only want to publish the after save spot
}
//other init() code like adding fields
}
//this Class wants to act to the after save event
class SomeController
{
public static function registerModelBrokerHooks(): void {
ModelBroker::getInstance()->subscribe(
Model::HOOK_AFTER_SAVE,
function (Model $entity, bool $isUpdate) { //the same parameters are available as on Model::HOOK_AFTER_SAVE hook spot
//some logic that should be performed when the after save event takes place
}
);
}
);
class ModelA extends Model
{
use InvokeModelBrokerTrait;
protected function init(): void
{
$this->publish(Model::HOOK_AFTER_SAVE);
}
}
class ModelB extends Model
{
use InvokeModelBrokerTrait;
protected function init(): void
{
$this->publish(Model::HOOK_AFTER_SAVE);
}
}
//inside some other class. This subscription will receive the after save event from both ModelA and ModelB.
ModelBroker::getInstance()->subscribe(
Model::HOOK_AFTER_SAVE,
function (Model $entity, bool $isUpdate) {
//only act on ModelA
if($entity instanceof ModelA) {
//do something
}
}
);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.