Skip to content

Instantly share code, notes, and snippets.

@greg0ire
greg0ire / pagination.md
Last active May 20, 2018 16:42
Pagination

Pagination

Pagination is the process of dividing a long list of results into easier to consume pages. By only loading one page at a time, memory is preserved. This applies to RDBMS result sets, collections of serialized items in an API, or listings in list views of simple CRUD applications. Although the needs are often the same, many libraries define their own objects, or even use plain arrays to represent a paginated result. As a result, projects consuming these libraries often end up defining many adapters for those many libraries.

@dunglas
dunglas / example.php
Created April 19, 2018 06:25
A minimalist GraphQL client for PHP
<?php
$query = <<<'GRAPHQL'
query GetUser($user: String!) {
user (login: $user) {
name
email
repositoriesContributedTo {
totalCount
}
@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"
@Jean85
Jean85 / composer-outdated.sh
Last active March 3, 2019 01:59
How to check in CI if any Composer dependency can be upgraded, using a committed file as a way to ignore upgrades blocked by external factors.
#!/usr/bin/env bash
rm outdated-status.txt
touch outdated-status.txt
for package in `composer outdated | awk '{ print $1":"$4 }'`;
do
echo "New version: $package" > outdated-status.txt
composer why-not $package > outdated-status.txt
echo "----------" > outdated-status.txt
@lyrixx
lyrixx / HardCoreDebugLogger.php
Last active May 28, 2024 02:25
Hardcore Debug Logger
<?php
const STREAM_OPEN_FOR_INCLUDE = 128;
final class HardCoreDebugLogger
{
public static function register(string $output = 'php://stdout')
{
register_tick_function(function () use ($output) {
$bt = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);
@muglug
muglug / webmozart-assert-stub.php
Created July 31, 2019 14:34
Interim stubs for webmozart/assert
<?php
/*
* This file is part of the webmozart/assert package.
*
* (c) Bernhard Schussek <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
@alcaeus
alcaeus / composer.json
Last active May 20, 2020 15:06
Why composer hacks don't help when testing against PHP 8
{
"require": {
"php": "^7.2",
"vendor/extension": "^1 || ^2",
"vendor/restrictive": "^1 || ^2"
}
}
jobs:
strategy:
fail-fast: false
matrix:
chunk_count: [5]
chunk_number: [1, 2, 3, 4, 5]
env:
CHUNK_COUNT: ${{matrix.chunk_count}}
CHUNK_NUMBER: ${{matrix.chunk_number}}
@romaricdrigon
romaricdrigon / docker-compose.override.yaml
Created August 27, 2020 14:36
Using Mutagen Compose
version: '3.7'
volumes:
appdata: ~
code: ~
services:
php:
volumes:
- code:/var/www/html
@faizanakram99
faizanakram99 / MonospaceResponse.php
Created November 18, 2020 12:02
View Monolog in browser with HttpFoundation component
<?php
declare(strict_types=1);
namespace Qbil\CommonBundle\Extension;
use Symfony\Component\HttpFoundation\Response;
use Webmozart\Assert\Assert;
final class MonospaceResponse extends Response