
Miguel92
Alfa
Verificación en dos pasos activada
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos, desde que supe de la existencia (hace 1 o 2 días 😅), quiero usarlo, ya que de esta forma podré reducir secciones de bloques repetidas o usar para algo en concreto, doy un ejemplo
(traits)
un archivo App\Traits\algo.php
Solución: (actualizado a las 09:10pm 12.04.25)
No usarlo de esta forma, ya que genera conflicto
Esta sería la forma correcta
(models)
un archivo App\Services\Otracosa.php
Lo más posible es que lo este haciendo mal o algo que no deba, y por lo que veo parece que es un conflicto entre el $core de trait y este archivo.
porque básicamente un Trait es:
"Un trait es un mecanismo de reutilización de código en lenguajes que no admiten herencia múltiple, como PHP. Te permite definir métodos y propiedades que luego pueden ser insertados en cualquier clase."
(traits)
un archivo App\Traits\algo.php
PHP:
<?php
namespace App\Traits;
use App\Models\Core;
trait Algo {
protected Core $code;
public function sayHelloFromCore() {
return $this->code->esteEsMiMetodo(); // Supongamos que existe ese método
}
}
Solución: (actualizado a las 09:10pm 12.04.25)
No usarlo de esta forma, ya que genera conflicto
Insertar CODE, HTML o PHP:
protected Core $code;
Insertar CODE, HTML o PHP:
protected $code;
(models)
un archivo App\Services\Otracosa.php
Insertar CODE, HTML o PHP:
<?php
namespace App\Services;
use App\Traits\Algo;
use App\Models\Core;
class SomeService {
use Algo;
protected $core;
public function __construct(Core $core) {
$this->code = $core; // Aquí le damos valor a la propiedad del trait ( es donde siempre me da problemas)
}
public function greet() {
return $this->sayHelloFromCore();
}
}
Lo más posible es que lo este haciendo mal o algo que no deba, y por lo que veo parece que es un conflicto entre el $core de trait y este archivo.
porque básicamente un Trait es:
"Un trait es un mecanismo de reutilización de código en lenguajes que no admiten herencia múltiple, como PHP. Te permite definir métodos y propiedades que luego pueden ser insertados en cualquier clase."
Última edición: