PHP - llamar a un metodo desde 2 controladores

 
Vista:
sin imagen de perfil
Val: 30
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

llamar a un metodo desde 2 controladores

Publicado por Manuel (12 intervenciones) el 27/05/2021 12:45:36
Buenas tardes estoy montado un proyecto con MVC , POO Y PDO....necesito utilizar una función que se all_customers() desde dos controladores....Clients y Projects.

En un principio he pensado que ya que voy hacer uso de una misma función lo recomendable sería implementar un trait y ya en cada controlador pues hago la llamada a esa función pero...no se muy bien como plantearlo.

He creado una carpeta con el archivo reportingSevice.php

<?php

trait Clientbd{

public function __construct(){
try {
$this->db = Conexion::connect();
} catch (PDOException $e) {
die($e->getMessage());
}
}



public function all_customers(){
$pst = $this->db->query("SELECT id_cliente,logo,nombre_cliente,email,telefono FROM clientes");
return $data = $pst->fetchAll(PDO::FETCH_OBJ);
}
}

Este seria el controlador:
<?php
require_once '../app/trait/ReportingService.php';

class Clients extends Controller{

use Clientbd;

public function __construct(){

$this->ClientModel = $this->model('ClientModel');
}

//Método para ver todos los clientes
public function see(){


$clients= $this->ClientModel->all_customers();
// print_r($clients);
// die();
$data = [
'clients'=> $clients
];


$this->view('/pages/client/see',$data);

}

¿Cómo deberia hacer la llamada a la funcion all_customers()? a ver si alguien puede aclararmelo . Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

llamar a un metodo desde 2 controladores

Publicado por Mauro (1037 intervenciones) el 27/05/2021 17:38:12
Hola Manuel!

Se me ocurre que ese método debería ser propio del modelo más que del controlador... en todo caso, te diría que antes de meterte con un trait pienses en crear una clase abstracta que sirva como base de los controladores, aunque insisto en manejarlo como parte del modelo mejor.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar