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.

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 (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 = 1 )
  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 DateTime( date( "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.