La palabra de Wifft

Laravel

PHP

Caso práctico de uso de la desconocida y olvidada constante mágica __FUNCTION__

En PHP, la constante mágica __FUNCTION__ almacena un string con el nombre del método o función desde la cual es invocada.

Por ejemplo:

function  foo(): string
{
    return __FUNCTION__;
}

echo foo(); //Imprime "foo";

Ello puede ser útil por ejemplo en Laravel, cuando tenemos un método de controlador que implemente el trait AuthorizesRequests para validar las peticiones (siempre que el método dentro de la política de seguridad sea identico al de la función desde la que es invocada).

...
final class FooController extends Controller 
{
    use AuthorizesRequests;

    public function create(Mode...

PHP

El caso de un parámetro opcional que resultó ser necesario

En cierto proyecto, definí un Trait ("Concern" en nomenclatura Laraveliana) para encapsular cierta funcionalidad relacionada con modelos de datos (des)activables, Como se puede apreciar, una de las cosas que lleva a cabo el trait es sobreescribir el constructor para llevar a cabo un poco de monkey patching sobre algunos atributos.

trait Activatable
{
    protected string $activatableField = 'is_active';

    public function __construct()
    {
        parent::__construct();

        $this->fillable[] = $this->activatableField;
        $this->casts[] = [
            $this->activatableField => ...

PHP

Enumeradores en PHP Parte III: Métodos personalizados

Tercera y última parte de esta trilogía.

PHP

Enumeradores en PHP Parte II: Valores personalizados

Llevando la cuestión al siguiente nivel =D

Desarrollando una "version tag" basada en git y renderizada a través de un componente de Blade - Parte III

En esta tercera y última parte vemos como obtener el hash del commit actual y como convertir su timestamp en un formato de fecha legilble, así como la implementación en Blade y resultado final.

Desarrollando una "version tag" basada en git y renderizada a través de un componente de Blade - Parte II

En esta segunda parte vamos a ver como obtener el versionNumber y el buildNumber de nuestra "version tag".

Desarrollando una "version tag" basada en git y renderizada a través de un componente de Blade - Parte I

Primera parte de una serie de publicaciones en las que narro el desarrollo de un sistema de taggeo de versiones a partir de información obtenida de GIT.