Skip to content

Instantly share code, notes, and snippets.

View morozov's full-sized avatar

Sergei Morozov morozov

View GitHub Profile

Keybase proof

I hereby claim:

  • I am morozov on github.
  • I am morozov (https://keybase.io/morozov) on keybase.
  • I have a public key whose fingerprint is 7A03 FFFD 3CFF EF05 3F88 037A 374E ADAF 543A E995

To claim this, I am signing this object:

<?php
class Sorter
{
private $callback;
public function __construct(array $orderBy)
{
$functions = [];
@morozov
morozov / disallow-equal-operators.diff
Created November 24, 2018 00:47
Applied SlevomatCodingStandard.ControlStructures.DisallowEqualOperators to ba4c9a2
diff --git a/lib/Doctrine/DBAL/Connection.php b/lib/Doctrine/DBAL/Connection.php
index 2a1d9a1b9..4a9a9231a 100644
--- a/lib/Doctrine/DBAL/Connection.php
+++ b/lib/Doctrine/DBAL/Connection.php
@@ -1254,7 +1254,7 @@ class Connection implements DriverConnection
$logger = $this->_config->getSQLLogger();
- if ($this->_transactionNestingLevel == 1) {
+ if ($this->_transactionNestingLevel === 1) {
@morozov
morozov / backport.sh
Last active December 6, 2018 09:49
A shell script for back-porting Doctrine DBAL pull requests from master to older branches
#!/usr/bin/env bash
set -eu
if [ $# -ne 2 ]; then
echo "Usage: `basename $0` <pull> <branch>";
exit 1;
fi
PULL="$1"
@morozov
morozov / README.md
Last active December 8, 2018 13:04
Ninja Test Qualification

Ninja Test Qualification

Ninja test is a self-sufficient unit test that is fully responsible for setting up environment it depends on and doesn't rely on other tests. Unlike others, ninja-tests survive within any test suite, they are less subjected to accidental false-negative failures and don't require periodical fixing.

In order to see if your newly written test passes the ninja qualification, to run it with the following command:

php phpunit.php --bootstrap=/path/to/ninja.php -c tests/phpunit.xml /path/to/test.php
@morozov
morozov / format-stmt.php
Created August 18, 2017 22:51
Prepared Statements Debugging Snippets
<?php
function format_sugar_query(SugarQuery $query)
{
return format_builder(
$query->compile()
);
}
function format_builder(\Doctrine\DBAL\Query\QueryBuilder $builder)
@morozov
morozov / watch-and-diff.sh
Last active October 10, 2019 21:01
Watch and Diff. A shell script for monitoring changes in configuration files
#!/usr/bin/env bash
set -euo pipefail
function __get_missing_keys {
php -- "$@" << 'EOF'
<?php
$args = $GLOBALS['argv'];
array_shift($args);
sudo ./sockdump.py --format string --output dump.txt ~/.phpbrew/php/php-7.4.5/var/run/php-fpm.sock
@morozov
morozov / .gitignore
Last active May 26, 2020 03:14
composer/package-versions-deprecated incompatible with humbug/box
/example.phar
/vendor
@morozov
morozov / .gitignore
Last active June 20, 2020 05:03
PHPUnit and Psalm
/vendor