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...
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
IFs sensibles a La Fuerza: Yoda Conditions
La Fuerza está en todas partes, acompañándonos hagamos lo que hagamos =D
El uso de la instrucción ELSE nunca, pero que NUNCA es necesario. Veamos algunos ejemplos.
La elegancia radica en la simplicidad. Y todo es simplificable. (Casi) Siempre.
Obsolescencia de propiedades dinámicas en PHP 8.2. ¿Qué implica?
Por fin Zend decide liberar a PHP de uno de sus mayores lastres.
¿Qué son los "recursos" en PHP?
Los recursos de PHP son un aspecto por lo general poco conocido del lenguaje (a nivel teórico), pero ampliamente utilizados a nivel práctico, en muchos casos, sin que el desarrollador sea consciente de ello.