Autocomplete não exibe os métodos relacionados da classe
Bom dia, olha eu aqui de novo com mais um problema. Isso que dá aprender coisas novas né. Com códigos mais bem estruturados vem novos erros :v
É o seguinte,
tenho meu controller Index.php para renderizar minhas páginas
<?php
namespace App\Controllers;
use SON\Controller\Action;
use SON\DI\Container;
class Index extends Action
{
public function home()
{
$this->render('home');
}
public function business(){
$this->render('business');
}
}
Tenho o meu conteúdo que faz a gestão de dependência da conexão com o banco de dados
<?php
namespace SON\DI;
class Container
{
public static function getClass($name)
{
$str_class = "\\App\\Models\\" . ucfirst($name);
$class = new $str_class(\App\Init::getDb());
return $class;
}
}
E por fim a classe Table que faz as consultas e gerencia toda essa comunicação com o banco de dados
<?php
namespace SON\DB;
abstract class Table
{
protected $db;
protected $table;
public function __construct(\PDO $db){
$this->db = $db;
}
public function fetchAll(){
$query = "SELECT * FROM {$this->table}";
return $this->db->query($query);
}
public function find($param, $valueParam){
$stmt = $this->db->prepare("SELECT * FROM {$this->table} WHERE {$param} :{$param}");
$stmt->bindParam(":{$param}", $valueParam);
$stmt->execute();
$res = $stmt->fetch();
return $res;
}
}
Eu preciso ir no gastro e esse problema ta me deixando de cabelo em pé.
Ao tentar retornar um dos métodos da minha classe Table no meu controller, ele simplesmente não encontra sugestões para os meus métodos o que me leva a acreditar que deu ruim =/
public function home()
{
$test = Container::getClass("MyClass");
$test->no_sugestions; // Não funciona a chamada de nenhum dos dois métodos da classe Table
$this->render('home');
}
Como disse esse mundo é um pouco novo pra mim, mas não menos fascinante. Posso estar deixando passar alguma coisa aqui ou ali que meus olhos de aprendiz não me deixam ver então conto com a sapiência de vocês pra me ajuda :)
É um mini sistema e se precisarem do restante do código é só falar mas, basicamente, tudo funciona até aqui, com exceção desse problema apresentado.
Discussão (4)
Carregando comentários...