Laravel
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...
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 => ...
Enumeradores en PHP Parte III: Métodos personalizados
Tercera y última parte de esta trilogía.
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.