Skip to content

Instantly share code, notes, and snippets.

@devgnx
devgnx / BaseRequest.php
Created September 30, 2020 04:55
Symfony Request using illuminate/validation
<?php
namespace App\Request;
use Domain\Shared\MagicGetterSetter;
use Illuminate\Translation\ArrayLoader;
use Illuminate\Translation\Translator;
use Illuminate\Validation\ValidationException;
use Illuminate\Validation\Factory as ValidatorFactory;
use Symfony\Component\HttpFoundation\FileBag;
[In reply to Moroshka]
Распишу по буквам, потом в совокупности
S - (SRP):
https://www.youtube.com/watch?v=AEnePs2Evg0
https://goo.gl/LatDmF (link wikipedia)
O - (Open/closed):
https://www.youtube.com/watch?v=DJF_sGOs2V4
https://goo.gl/6p3jfY (link wikipedia)
L - (Liskov):
https://www.youtube.com/watch?v=bVwZquRH1Vk
@esilvajr
esilvajr / image_phpstorm_server.png
Last active March 27, 2022 23:49
How to use XDebug inside a docker container.
image_phpstorm_server.png
@dpalomar
dpalomar / .gitattributes
Created April 8, 2016 12:43
Fixing CRLF with gitattributes
From this [issue](https://github.com/puphpet/puphpet/issues/1025#issuecomment-157059174):
I know that this issue is closed, but as I spent a lot of time to understand what was going on, I made some researches and I can explain why this happen, and you can fix it.
Using git config core.autocrlf true can help, but not on a multi-developpers project.
This command has to be the same on each developper machine, and that's not always the case.
You have to use the .gitattributes provided in the puphpet archive and edit it as follow (carefull, this file need to be in your project root)
You also need to use an IDE that allow you to save/edit files as LF (like phpstorm). You can check the type of the file in the bottom right corner, in the status bar (you'll see LF or CRLF while a file is opened)
@fesor
fesor / README.md
Last active July 22, 2023 23:00
Symfony Request Object

Symfony Request Object

This is proof-of-concept implementation of laravel's like form requests.

Rational

Most of Symfony developers uses forms to map request data to some Data Transfer Object. This object then passes to validator and system start to work with validated data converted to be compatible with application model.

@fesor
fesor / README.md
Last active November 3, 2023 06:50
What is OOP

Что такое ООП

Ссылки на материалы, позволяющее лучше понять оригинальную идею.

Quotes

Java and C++ make you think that the new ideas are like the old ones. Java is the most distressing thing to hit computing since MS-DOS.

Alan Kay

@me7media
me7media / PHPSTORM XDEBUG ubuntu NGINX php7.2-fpm
Created October 10, 2018 15:02
PHPSTORM XDEBUG ubuntu NGINX php7.2-fpm
sudo apt install php7.2-xdebug
sudo find / -name 'xdebug.so'
sudo gedit /etc/php/7.2/fpm/php.ini
sudo gedit /etc/php/7.2/cli/php.ini
sudo gedit /etc/php/7.2/cli/conf.d/20-xdebug.ini
[Xdebug]
; путь к файлу so, который мы временно сохаринили на шаге раньше
zend_extension=/usr/lib/php/20170718/xdebug.so
; остальные обязательные параметры
xdebug.profiler_enable_trigger=1
@Pen-y-Fan
Pen-y-Fan / Info for PHPStorm.md
Last active April 15, 2024 16:25
PHPStorm Tips, Tricks and setup

PHPStorm

PhpStorm Tips, ticks and standard setup

  1. Tips and Tracks for PHPStorm (PHPStorm Tips and Tricks.md)
  2. Standard setup for PHP projects (Standard.md)
@JustinTimperio
JustinTimperio / download_from_minio.sh
Created November 4, 2020 19:23
Download a File to Minio with Curl and Zero External Libraries or Programs
#!/usr/bin/env sh
# Example: ./download_minio.sh example.url.com username password bucket-name minio/path/to/file.txt.zst /download/path/to/file.txt.zst
if [ -z $1 ]; then
echo "You have NOT specified a MINIO URL!"
exit 1
fi
if [ -z $2 ]; then

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