Estoy intentando usar un método de otra clase. Esta pregunta se ha hecho varias veces, pero en mi caso aparece un error. Estoy seguro de que esto está relacionado con un error que cometí.

class Reports_images extends Reports{
    public function testOG(){
      return('hi there');
    }
}

En otro archivo Reports.php:

require APPPATH.'/controllers/Reports_images.php';

public function appAddPics_post() {
     $bakerboyTest = new Reports_images();
     $bakerboy = $bakerboyTest->testOG();

     $this->response($bakerboy  ,REST_Controller::HTTP_OK);
}

Estoy usando CodeIgniter con un controlador de descanso, todo funciona excepto esto. Estoy intentando devolver un valor de un método en otro controlador.

0
FabricioG 24 oct. 2019 a las 20:16

1 respuesta

La mejor respuesta

Eso nunca funcionará. La clase Reports_Images extiende la clase Reports, al mismo tiempo que llama a la función testOG de la clase Reports.

Esto funcionará. Reports_images.php:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Reports_images extends CI_Controller{
    public function testOG(){
      return('hi there');
    }
}

Luego, en otros informes de clase en Reports.php, haga esto:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH.'/controllers/Reports_images.php';

class Reports extends Reports_images{
    public function appAddPics_post() {
       $this->response($this->testOG(), REST_Controller::HTTP_OK);
    }
}
1
stefo91 25 oct. 2019 a las 14:17