Skip to content

Instantly share code, notes, and snippets.

View sebastiaanluca's full-sized avatar
👋

Sebastiaan Luca sebastiaanluca

👋
View GitHub Profile
@sebastiaanluca
sebastiaanluca / AbstractRepository.php
Last active September 15, 2017 15:42
Simple example of returning a generic object in a repository using Laravel.
<?php namespace App\Repositories;
use App;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Illuminate\Support\Collection;
use Illuminate\Support\Contracts\ArrayableInterface;
abstract class AbstractRepository
{
@sebastiaanluca
sebastiaanluca / jobs.js
Last active December 6, 2015 21:03
Triggers an alarm every hour at 10 minutes, a sub job every minute after that for about 10 minutes, and a snooze at 30 minutes.
var Moment = require('moment');
var Schedule = require('node-schedule');
var alarmJob;
var fixedSnoozeJob;
var subCounter;
//
var Moment = require('moment');
var Schedule = require('node-schedule');
var subCounter;
//
// Schedule the jobs
console.log('Setting up jobs');
@sebastiaanluca
sebastiaanluca / NewMessage.php
Last active April 11, 2024 12:36
Laravel + Redis + NodeJS + Socket.io pub/sub secure server and client supporting multiple rooms, channels, users, … Add `client.js` to your client app, run `node server.js`, and trigger the Laravel event any way you want to broadcast the data.
<?php
namespace App\Events;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Queue\SerializesModels;
class NewMessage extends Event implements ShouldBroadcast
{
@sebastiaanluca
sebastiaanluca / vhost.ini
Created January 10, 2017 00:10
nginx virtual host configuration file where `[::]` handles IPv6 IPs.
# Redirect non-secure http requests to secure https domain
# Redirect non-www requests to www.site.com
server {
listen 0.0.0.0:80;
listen [::]:80;
listen 0.0.0.0:443 ssl http2;
listen [::]:443 ssl http2;
server_name domain.com *.domain.com;
<?php
namespace App\Mail;
use Illuminate\Container\Container;
use Illuminate\Mail\Mailable as BaseMailable;
use PHPUnit\Framework\Assert;
class Mailable extends BaseMailable
{
<?php
namespace Tests;
use PHPUnit\Framework\TestCase;
class MyTest extends TestCase
{
public function test_it_does_something()
{
@sebastiaanluca
sebastiaanluca / App\Http\RequestHandler.php
Last active August 14, 2017 17:13
Laravel 5.5 request handling
<?php
namespace App\Http;
use SebastiaanLuca\Flow\Http\RequestHandler as BaseRequestHandler;
use SebastiaanLuca\Flow\Http\ShowsViews;
class RequestHandler extends BaseRequestHandler
{
use ShowsViews;
@sebastiaanluca
sebastiaanluca / CombinedNotification.php
Created October 2, 2017 02:07
Queued jobs in different locales. See https://github.com/laravel/internals/issues/394 for more info.
<?php
namespace App\Notifications;
use App\Helpers\RemembersLocale;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Notifications\Channels\FirebaseChannel;
@sebastiaanluca
sebastiaanluca / Localizer.php
Last active November 7, 2017 00:26
Set the Laravel app locale from any URL within a group with a fallback to the default locale.
<?php
declare(strict_types=1);
namespace App\Managers;
use Illuminate\Http\Request;
class Localizer
{