Skip to content

Instantly share code, notes, and snippets.

View Maksclub's full-sized avatar

Maksim Maksclub

  • Tbilisi, Georgia
View GitHub Profile
@Maksclub
Maksclub / ListObjects.php
Last active June 13, 2019 19:22
Листинг объектов к статье "Паттерн Visitor"
<?php
class EmailSender implements SenderInterface
{
public function send(Notification $notification)
{
// send throw email service
}
}
<?php
namespace Helper;
use Codeception\Exception\ModuleException;
class Api extends \Codeception\Module
{
public function getSchemaFile() {
return codecept_data_dir('swagger.json');
//
article_repository:
tags:
- { name: 'repository_override.registry', entity: MyNamespace\Entity\Article, class: MyNamespace\Repository\ArticleRepository}
//
class_metadata.subscriber:
class: MyNamespace\EventHandler\Doctrine\ClassMetadataSubscriber
arguments:
@Maksclub
Maksclub / Products.php
Created November 24, 2018 09:14
Exclude ids
...
// В начале метода get_products(), где инициализируются переменные
$exclude_id_filter = '';
...
// В середине файла, где идут схожие првоерки и наполняются пременные
if(!empty($filter['exclude_id'])) {
$exclude_id_filter = $this->db->placehold('AND p.id NOT IN (?@)', (array)$filter['exclude_id']);
}
<?php
// <...>
$paginator = new Paginator($builder->get());
$count = $paginator->count();
$iterator = $paginator->getIterator();
// Как блядь это вставить в начале моих данных?!
@Maksclub
Maksclub / Pool.php
Last active September 29, 2018 20:25
pool.php
<?php
declare(strict_types=1);
class Pool
{
/**
* @var \Generator[]|array[]
*/
private $iterators = [];
@Maksclub
Maksclub / docker-compose.yml
Created June 27, 2018 16:32
Docker for Simpla CMS
version: '2'
services:
nginx:
build:
context: ./
dockerfile: docker/nginx.docker
volumes:
- ./:/var/www
- ./docker/nginx/ssl:/etc/nginx/ssl
ports:
@Maksclub
Maksclub / index.txt
Last active May 15, 2018 05:44
Статья про роутинг, код 13
$router->any('main', '/', function() {return('Hello!');});
$router->get('blog', '/blog', function() {return('This is Blog');});
$router->post('blog_create', '/blog', function($request) {return('Create Post' . $request->getAttribute('id'));});
$router->get('blog_show', '/blog/(?P<id>\d+)', function($request) {return('Post');});
$router->patch('blog_update', '/blog/(?P<id>\d+)', function($request) {return('Update Post' . $request->getAttribute('id'));});
$router->delete('blog_delete', '/blog/(?P<id>\d+)', function($request) {return('Delete Post' . $request->getAttribute('id'));});
// вызов нужного роута по имени
@Maksclub
Maksclub / index.txt
Last active May 15, 2018 04:59
Статья про роутинг, код 12
$collection = new RouterCollection();
$collection->any('/', function() {return('Hello!');});
$collection->get('/blog', function() {return('This is Blog');});
$collection->post('/blog', function($request) {return('Create Post');});
$router = new Riuter($collection);
$result = $router->match();
@Maksclub
Maksclub / index.txt
Last active May 15, 2018 05:44
Статья про роутинг, код 11
$router->any('/', function() {return('Hello!');});
$router->get('/blog', function() {return('This is Blog');});
$router->post('/blog', function($request) {return('Create Post');});
$router->patch('/blog/(?P<id>\d+)', function($request) {return('Update Post' . $request->getAttribute('id'));});
$router->delete('/blog/(?P<id>\d+)', function($request) {return('Delete Post' . $request->getAttribute('id'));});
// $router->any — метод без указания методов, то есть для любого запроса