menu
Fórum Adianti
menu Menu
Criar funcoes para usar em varios projetos Hola a todos Estou aos poucos conhecendo o framework, queria criar algumas funções que vão me servir para vários projetos, queria saber onde criar e como criar, qual seria a melhor forma, criar um arquivo php com vários funções ou um arquivo para cada função. Um abraço a todos. ...
NM
Criar funcoes para usar em varios projetos  
Hola a todos

Estou aos poucos conhecendo o framework, queria criar algumas funções que vão me servir para vários projetos, queria saber onde criar e como criar, qual seria a melhor forma, criar um arquivo php com vários funções ou um arquivo para cada função.

Um abraço a todos.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (2)


LC

Eu fiz assim, dentro da pasta applibwidget
Criei um arquivo chamado Funcoes.class.php , e dentro deste arquivo coloquei todas as funções que preciso
Exemplo:
  1. <?php
  2. /**
  3.  * Funcoes.class [ HELPER ]
  4.  * Classe para incluir funções!
  5.  */
  6. class Funcoes
  7. {
  8.     /**
  9.      * method limpaPasta()
  10.      * Recebe uma pasta e a quantidade de dias para excluir os arquivos
  11.      * Não exclui arquivo <b>.htaccess</b>
  12.      * @param $param - Informar a pasta, ex.: 'app/output' ou 'tmp' ou 'pasta/subpasta/subsubpasta' não informar no parametro a ultima barra
  13.      * @param $d - Informar quantidade de dias que o arquivo esta na pasta 
  14.      */
  15.     public static function limpaPasta$param$d )
  16.     {
  17.         if ( $param ):
  18.             if ( $handle opendir$param ) ):
  19.                 //echo "Manipulador de diretório: $handle <br>";
  20.                 //echo "Arquivos: <br>";
  21.                 /* Esta é a forma correta de varrer o diretório */
  22.                 while ( false !== ($file readdir$handle )) ):
  23.                     if ( $file != '.' && $file != '..' && $file != '.htaccess' && is_file"{$param}/{$file}) ):
  24.                         $hj = new DateTime();
  25.                         //var_dump($hj);
  26.                         $dataarq = new DateTimedate"Y-m-d"filemtime"{$param}/{$file}) ) );
  27.                         //var_dump($dataarq);
  28.                         $intervalo $hj->diff$dataarq );
  29.                         //var_dump($intervalo);
  30.                         //echo "$file " . date ("d-m-Y H:i:s.", filemtime("{$param}/{$file}")) . " - Intervalo é de {$intervalo->days} dias <br>";
  31.                         // exclui o arquivo
  32.                         if ( $intervalo->days $d ):
  33.                             if ( file_exists"{$param}/{$file}) && is_file"{$param}/{$file}) ):
  34.                                 unlink"{$param}/{$file});
  35.                             endif;
  36.                         endif;
  37.                     endif;
  38.                 endwhile;
  39.                 closedir$handle );
  40.             endif;
  41.         endif;
  42.     }
  43. }
  44. ?>


Forma de uso:
  1. <?php
  2. Funcoes::limpaPasta('app/output');
  3. ?>

MG

Você também pode criar helpers, muito parecido com o Laravel.

Na pasta : app/lib você cair uma pasta chamada helpers.
Nesta pasta cria um arquivo, por exemplo, chamado heleprs.php com o conteúdo parecido com este:

  1. <?php
  2. /**
  3. * Converte um numero para texto
  4. */
  5. if (!function_exists('_num2txt')) 
  6. {
  7.     /*
  8.     * Recebe uma string contendo textos e retorna apenas os números
  9.     * @param $string
  10.     * @return $string - contendo apenas numeros
  11.     */
  12.     function _num2txt($string)
  13.     {
  14.         return preg_replace("/\D/",""$string);
  15.     }
  16. }
  17. ?>


No composer.json vc adiciona o helper para auto_loader:

"phpoffice/phpspreadsheet": "^1.5", "aws/aws-sdk-php": "^3.107" }, "autoload": { "files": [ "app/lib/mgsistemas/helpers/Helpers.php", ]


na linha de comando: composer dump-autoload

e é só usar

  1. <?php
  2.     $num _num2txt(10);
  3. ?>


Caso dê o nome de uma função já existente, veja que no código do helpers.php ela não será sobrescrita.
Por isso sempre uso underline no começo dos meus helpers.