Skip to content

Instantly share code, notes, and snippets.

@cod3beat
Created November 18, 2015 07:15
Show Gist options
  • Save cod3beat/84dc71116c99c59338d6 to your computer and use it in GitHub Desktop.
Save cod3beat/84dc71116c99c59338d6 to your computer and use it in GitHub Desktop.
News Feed Service Provider
<?php
class NewsFeedServiceProvider extends ServiceProvider
{
public function register()
{
// Ketika seluruh event dari Domain Challenge dibangkitkan, maka kita jalankan ChallengeFeedListener
// untuk menangani event tersebut.
\Event::listen('Dicoding.Domain.Challenge.*', 'Dicoding\Infrastructure\Feeds\Challenges\ChallengeFeedListener');
}
}
// Contoh wujud dari ChallengeFeedListener
class ChallengeFeedListener extends EventListener
{
public function whenUnpublishedChallengeWasPublished($job, $data)
{
try {
// tambahkan challenge ke feed
$challenge = $this->challengeRepository->findById($data);
$challengeFeed = new ChallengeFeed($challenge);
$this->feedRepository->add($challengeFeed);
$job->delete();
} catch (\Exception $e) {
\Log::error($e);
throw $e;
}
}
public function whenUnpublishedChallengeWasCreated($job, $data)
{
}
// dsb
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment