Skip to content

Instantly share code, notes, and snippets.

View geerteltink's full-sized avatar
🏠
Home office

Geert Eltink geerteltink

🏠
Home office
View GitHub Profile
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @see https://github.com/zendframework/zend-expressive for the canonical source repository
* @copyright Copyright (c) 2015-2016 Zend Technologies USA Inc. (http://www.zend.com)
* @license https://github.com/zendframework/zend-expressive/blob/master/LICENSE.md New BSD License
*/
namespace Zend\Expressive\Container;
@geerteltink
geerteltink / .phpstorm.meta.php
Created September 15, 2016 09:31
.phpstorm.meta.php
<?php
/**
* @link https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata
*/
namespace PHPSTORM_META {
/** @noinspection PhpUnusedLocalVariableInspection */
/** @noinspection PhpIllegalArrayKeyTypeInspection */
$STATIC_METHOD_TYPES = [
\Interop\Container\ContainerInterface::get('') => [
'config' instanceof \ArrayObject,
@geerteltink
geerteltink / cron-renew.sh
Last active September 6, 2017 07:53
Let’s Encrypt cronjob script
#!/bin/bash
#
SERVER="https://acme-v01.api.letsencrypt.org/directory"
EMAIL="[email protected]"
DOMAINS=("example.com" "example2.com" "example3.com")
WEBROOT=/tmp/letsencrypt/www
for DOMAIN in "${DOMAINS[@]}"
do
mkdir -p $WEBROOT
@geerteltink
geerteltink / test-expressive-installer-remote.json
Last active March 21, 2018 20:45
Zend Expressive Skeleton test script
{
"package": {
"name": "zendframework/zend-expressive-skeleton",
"version": "0.0.x-dev",
"source": {
"url": "https://github.com/xtreamwayz/expressive-composer-installer/",
"type": "git",
"reference": "hotfix/composer-serve"
}
}
@geerteltink
geerteltink / App\Core\Security\AuthenticationMiddleware.php
Last active April 11, 2017 01:59
PSR-7 Security Middleware (Authentication / Authorization)
<?php
namespace App\Core\Security;
use App\Domain\User\UserRepository;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use PSR7Session\Http\SessionMiddleware;
class AuthenticationMiddleware
@geerteltink
geerteltink / badgeboard.php
Created June 6, 2016 15:56
ZendFramework BadgeBoard
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>ZendFramework Components</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
@geerteltink
geerteltink / App\Core\I18n\I18nUrlHelper.php
Last active June 4, 2016 09:28
PSR-7 Localization POC. A symfony translator is used but the zend-i18n translator has a similar setup.
<?php
namespace App\Core\I18n;
use Zend\Expressive\Helper\UrlHelper;
class I18nUrlHelper extends UrlHelper
{
public function __invoke($route = null, array $params = [])
{
@geerteltink
geerteltink / BasicMiddleware.php
Last active January 8, 2017 08:05
Expressive PSR-7 Middleware Layers and Action: How to use it properly and pass data with the request.
<?php
namespace App\Middleware;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
class BasicMiddleware
{
public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next)
@geerteltink
geerteltink / DOMDocument_encoding_test.php
Last active April 26, 2016 14:56
PHP 7 DOMDocument: utf-8 encoding not working as expected
<?php
// Valid UTF-8 string
$htmlForm = <<<'HTML'
<form action="/" method="post">
<input type="text" id="title" name="title" required value="Îñţérñåţîöñåļîžåţîöñ" />
<button type="submit" class="btn btn-primary">Submit</button>
</form>
HTML;
@geerteltink
geerteltink / private_property_test.php
Last active April 22, 2016 08:28
PHP set private properties without setters statically
<?php
class User
{
private $name;
public function __construct()
{
}