Conheça  A Ferramenta LowCode mais moderna e veloz para desenvolvimento PHP: Adianti Creator
Erro , classes nativas ( not found ) Prezados, boa tarde ! Estou tendo alguns problemas para utilizar as classes nativas do framework , TTransaction por exemplo . Estou usando ajax ,e quando faço chamada do arquivo com as funções nativas do framework, apresenta a mensagem de classe TTransaction not found . Eu ja tentei utilizar o arquivo Functions.php em diversos lugares como : app/lib/util/Functions.php , app/resources...
FM
Erro , classes nativas ( not found )  
Prezados, boa tarde !

Estou tendo alguns problemas para utilizar as classes nativas do framework , TTransaction por exemplo .

Estou usando ajax ,e quando faço chamada do arquivo com as funções nativas do framework, apresenta a mensagem de classe TTransaction not found .


Eu ja tentei utilizar o arquivo Functions.php em diversos lugares como : app/lib/util/Functions.php , app/resources/contratoGas/FunctionsContratoGas_old.php, porém só agora na pasta ROOT e dando require_once no init.php, o erro mudou pra esse :

Uncaught Error: Class 'AdiantiCoreAdiantiApplicationLoader' not found in C:xampphtdocsPortalAmericalibadianticoreAdiantiCoreLoader.php:78


Como faço pra utilizar essas funções nativas do Framework de forma correta ?

Segue a estrutura :

JS com post

$.ajax({ url: 'app/resources/contratoGas/ajax.php', type: 'post', dataType: "json", data: {'ID_CONTRATO': ID_CONTRATO,'id_fatura_contrato_': id_fatura_contrato_}, success: function (result) { console.log(result) }, error: function (xhr, desc, err) { console.log(xhr); console.log("Details: " + desc + "\nError:" + err); } });



ajax.php no diretório app/resources/contratoGas/ajax.php :


 
  1. <?php
  2. include_once("../../../Functions.php");
  3. if(!empty($_POST['ID_CONTRATO']))
  4. {
  5. $ID_CONTRATO = $_POST['ID_CONTRATO'];
  6. Functions::atrelarFatura($ID_CONTRATO);
  7. }
  8. ?>


Functions.php localizado no diretório root :


 
  1. <?php
  2. require_once 'init.php';
  3. use Adianti\Database\TTransaction;
  4. use Adianti\Widget\Base\TElement;
  5. use Adianti\Database\TCriteria;
  6. use Adianti\Database\TFilter;
  7. use Adianti\Database\TRepository;
  8. use Adianti\Validator\TCNPJValidator;
  9. use Adianti\Validator\TCPFValidator;
  10. class Functions {
  11. public static function atrelarFatura($ID_CONTRATO)
  12. {
  13. try
  14. {
  15. TTransaction::open('america_gestao');
  16. $criteria = new TCriteria;
  17. $criteria->add(new TFilter('ID_CONTRATO', '=', $ID_CONTRATO));
  18. $repository = new TRepository('tb_contrato_fatura_budget');
  19. $cfb = $repository->load($criteria);
  20. TTransaction::close();
  21. return $cfb;
  22. }
  23. catch (Exception $e)
  24. {
  25. new TMessage('error', $e->getMessage());
  26. }
  27. }
  28. }
  29. ?>



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 (1)


NR

Adicione o código abaixo antes do "require_once" na classe Functions. A função chdir muda o diretório de referência do php.
 
  1. <?php
  2. chdir(__DIR__);
  3. ?>

Agora, pra entender melhor, qual a necessidade de chamar um arquivo externo por ajax? Não dá pra usar os recursos do framework?