Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
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.     
  18. }    
  19. ?>


Grato por qualquer ajuda!

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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.