Skip to content

Instantly share code, notes, and snippets.

View franzose's full-sized avatar

Yan Ivanov franzose

View GitHub Profile
@thiagoeliasr
thiagoeliasr / swiper-magnific-popup.js
Created August 13, 2015 13:27
Adding swipe support to Magnific Popup galleries. (touchSwipe is required: http://labs.rampinteractive.co.uk/touchSwipe/demos/)
(function() {
/* Define a variável que dá swipe no lightbox */
var magnificPopup = $.magnificPopup.instance;
/* Carrega a função quando clica no lightbox (senão não pega a classe utilizada) */
$("a.image-lightbox").click(function(e) {
/* Espera carregar o lightbox */
setTimeout(function() {
/* Swipe para a esquerda - Próximo */
@lsloan
lsloan / BetterEnum.php
Last active April 12, 2024 01:02
BetterEnum.php: A pure-PHP alternative to SplEnum, although only a 99% compatible replacement for it.
<?php
/**
* Class BetterEnum
*
* A pure-PHP alternative to SplEnum, although only a 99% compatible replacement for it.
*
* See: http://php.net/manual/en/class.splenum.php
*
* To declare an enum class, subclass BetterEnum and define the names and values as constants.
@Kreshnik
Kreshnik / PreventReplayAttack.php
Last active March 29, 2022 11:00
Laravel 5 - PreventReplayAttack Middleware
<?php namespace App\Http\Middleware;
use Carbon\Carbon;
use Closure;
use Illuminate\Cache\Repository as Cache;
use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Session;
class PreventReplayAttack
{
@Rhincodon
Rhincodon / ddd-structure.md
Last active January 15, 2017 11:52
Структура приложения и пространств имён при DDD

Источник

Вопрос

Как лучше организовать структуру моего приложения используя DDD и Laravel 4 или 5?

Ответ

Я обычно разделяю большие приложения на 4-5 пространств имён, которые привязаны к глобальному app пространству имён. Например, я хочу создать приложение ToDo List, так что базовое пространство имён будет ToDo.

@Rhincodon
Rhincodon / ddd.md
Created March 5, 2015 18:06
DDD [Перевод]

Источник

Вопрос

Привет, Jeffrey.

Было бы здорово если бы вы сделали скринкаст по DDD. Я уже начал изучать и читать о DDD, но это кажется мне трудным и сложным для понимания. Я верю что вы можете помочь нам лучше понять DDD.

Спасибо.

Ответ

@Rhincodon
Rhincodon / repository-pattern.md
Last active January 10, 2016 02:25
Паттерн Репозиторий

Источник

«Репозиторий обычно используется как хранилище данных, часто для обеспечения безопасности или сохранности» — Википедия.

Вот как Википедия описывает репозитории. И так сложилось, что в отличии от других различных определений с которыми мы сталкиваемся — это подходит идеально. Репозиторий олицетворяет концепцию хранилища коллекции конкретного типа сущности.

Репозиторий как коллекция

Вероятно самое важное свойство репозиториев это то, что они олицетворяют коллекцию сущностей. Они не являются хранилищем в базе данных или кэше, или тому подобному. Репозитории являются коллекциями. Как вы используете эти коллекции — это просто детали реализации.

@Rhincodon
Rhincodon / DDD Question.md
Last active November 8, 2017 10:33
Немного о DDD [перевод]

Источник

Вопрос о DDD:

Я пытаюсь учиться DDD, но я очень запутался в некоторых терминах, которые используются для описания некоторых вещей, они заставляют мой маленький мозг жариться как маленькое яйцо.

  • Что такое логика домена, слой домена, бизнес-логика, бизнес-слой, модель домена, объект домена, событие домена, эксперт по доменам, ядро домена?
  • Как обнаружить всё это в моём коде?
  • Laravel сделан над этими DDD понятиями? (я часто вижу такие вещи как сервисы, репозитории и др)
  • Где я могу научиться DDD очень простым способом? (Я имею ввиду реально очень простым способом)

What's the difference between cascade="remove" and orphanRemoval=true in Doctrine 2

TLDR: The cascade={"remove"} is like a "software" onDelete="CASCADE", and will remove objects from the database only when an explicit call to $em->remove() occurs. Thus, it could result in more than one object being deleted. orphanRemoval can remove objects from the database even if there was no explicit call to ->remove().

I answered this question a few times to different people so I will try to sum things up in this Gist.

Let's take two entities A and B as an example. I will use a OneToOne relationship in this example but it works exactly the same with OneToMany relationships.

class A
@goranprijic
goranprijic / BaseModel.php
Created December 17, 2014 10:12
Check if table is already joined in Laravel Query Builder
<?php
class BaseModel extends Eloquent {
public static function isJoined($query, $table)
{
$joins = $query->getQuery()->joins;
if($joins == null) {
return false;
}
@discordier
discordier / gist:ed4b9cba14652e7212f5
Created December 4, 2014 06:23
options for phpStorm @noinspection annotation
javascript
ES6ValidationInspection
JSAccessibilityCheckInspection
JSBitwiseOperatorUsageInspection
JSCheckFunctionSignaturesInspection
JSClosureCompilerSyntaxInspection
JSCommentMatchesSignatureInspection
JSComparisonWithNaNInspection
JSConsecutiveCommasInArrayLiteralInspection