Skip to content

Instantly share code, notes, and snippets.

View brzuchal's full-sized avatar

Michał Marcin Brzuchalski brzuchal

View GitHub Profile
root@284352ebf2f3:/src# make install
/bin/bash /src/libtool --mode=install cp ./stdng.la /src/modules
cp ./.libs/stdng.so /src/modules/stdng.so
cp ./.libs/stdng.lai /src/modules/stdng.la
PATH="$PATH:/sbin" ldconfig -n /src/modules
----------------------------------------------------------------------
Libraries have been installed in:
/src/modules
...
----------------------------------------------------------------------
@brzuchal
brzuchal / syntax.php
Created July 4, 2020 05:57
PHP Language Syntax Improvement
<?php
# Proposal
// remove parens gives a clear sign that it's not a function
declare strict_types = 1;
// require parens in constructs allowed to be used like a function
false or print("always returns 1");
// exit and die never returns value like echo and __halt_compiler
@brzuchal
brzuchal / php-macros.md
Last active July 6, 2020 13:45
PHP Marco Candidates

PHP Macro

Call syntax

Macro call syntax in ABNF:

arg-name   = 1*ALPHA
arg        = [ arg-name ":" ] ( expr | statement )
arg-list   = [ arg [ "," ] ]
arg-list  /= arg "," arg-list
macro-name = 1*ALPHA
@brzuchal
brzuchal / README.md
Created July 9, 2020 04:45
people.php.net/brzuchal

Passionate PHP Developer focused on microservices and PHP internals.

Current RFC's

StackFrame class

It's an alternative to debug_backtrace() with stack-trace frames as objects using less memory than arrays. Introduced class include two static methods which allows collecting frames from stacktrace:

  • StackFrame::getTrace(?int $limit = null, ?int $offset = null): array - collects all or portion of stacktrace
  • StackFrame::getFrame(int $index): StackFrame - retrieves a single frame from the stacktrace
@brzuchal
brzuchal / example.php
Created July 3, 2023 11:22
Interface Default Method Usecase
<?php
/**
* @template T
*/
class EntityResult {
public readonly $hasNextPage;
public function __construct(
public readonly array $entities,
public readonly int $page,
public readonly int $perPage,