Herança em TDate Boa noite a todos. Estou "testando" os recursos de herança do framework. Para tal, herdei uma classe de TDate que, por ora, vai apenas carregar as máscaras de exibição e gravação em database no método construtor. No entanto, ao instanciar a classe no form de cadastro de Clientes, obtenho erro: Fatal error: Uncaught Error: Class 'TDateSC3' not found in C:wamp64wwwSC3appcontroladm...
AM
Herança em TDate  
Boa noite a todos.

Estou "testando" os recursos de herança do framework. Para tal, herdei uma classe de TDate que, por ora, vai apenas carregar as máscaras de exibição e gravação em database no método construtor. No entanto, ao instanciar a classe no form de cadastro de Clientes, obtenho erro:

Fatal error: Uncaught Error: Class 'TDateSC3' not found in C:wamp64wwwSC3appcontroladminClienteForm.class.php on line 35

Eis a declaração da classe, em arquivo separado, na mesma pasta onde se encontra o arquivo da classe TDate:

 
  1. <?php
 
  1. <?php
  2. namespace Adianti\Widget\Form;
  3. use Adianti\Widget\Form\TDate;
  4. class TDateSC3 extends TDate implements AdiantiWidgetInterface
  5. {
  6. /**
  7. * Class Constructor
  8. * @param $name Name of the widget
  9. */
  10. public function __construct($name)
  11. {
  12. parent::__construct($name);
  13. $this->mask = 'dd/mm/yyyy';
  14. $this->dbmask = 'yyyy-mm-dd';
  15. }
  16. }
  17. ?>


Grato por qualquer ajuda!

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (4)


MA

Bom dia, provavelmente sua classe não está no path da biblioteca Adianti, então apenas retire o namespace
namespace Adianti\Widget\Form;

AM

Bom dia, Marcelo. Obrigado pela resposta. Mas, aparentemente, não é este o problema - o erro persiste. Como eu disse, o arquivo TDateSC3.php está na mesma path do arquivo da SuperClasse (TDate), Inclusive aparece a classe na lista do intelisense no momento de declarar um campo com ela no formulário.

Algo mais que possa estar fazendo errado?

Grato.
MA

Boa tarde, o arquivo TDate fica nesta pasta
lib/adianti/widget/form
certifique que seu arquivo esteja nesta pasta (Que não é uma boa prática criar seus derivados dentro da framework) se estiver dentro deste diretório vai funcionar. Se não coloque dentro de
app/control/lib/util
e retire o namespace
namespace Adianti\Widget\Form;
. Depois só correr para o abraço!
AM

Obrigado, Marcelo! Deu certo!

Quanto a usar as pastas do framework, tens razão. Uma atualização dele e "mata" minhas heranças.