I need to find functions in .php files using the same php language ...
guys ... please .. help me ... I stayed away from the codes and got a job as a php programmer ...
I really need a force ... I'm working hard to keep on the job and to remind myself of the programming itself ...
Well .. I made the code, but this one giving error when opening the file ... follow the code
class ListaDeFuncoes{
private $diretorio="";
function ListaDeFuncoes($diretorio){ //construtor recebe um diretorio para acessar um arquivo
$this->diretorio = $diretorio;
}
private function abreArquivo(){
return fopen($this->diretorio,"r"); //abre um arquivo em modo somente leitura
}
private function leArquivo(){ //retorna um array com todas as linhas do arquivo
$arquivo = $this->abreArquivo();
if(!feof($arquivo)){
echo "ERRO! Acesso negado ou arquivo inexiste.";
die();
}
if($arquivo){
while(($linha = fgets($arquivo)) != false){
$linhas[] = $linha;
}
$this->fechaArquivo($arquivo);
return $linhas;
}
}
public function listarFuncoes(){
$linhas = $this->leArquivo();
$pos1 = 0; //posição do inicio da string
$pos2 = 0; //posição do final da string
foreach ($linhas as $linha){
$pos1 = stripos($linha, "function");//pega o inicio da declaração da função função na string
$pos2 = stripos($linha, "{");//pega o final da declaração da função na string
if(($pos1 != 0)&&($pos2 != 0)){
echo substr($linha,$pos1, $pos2).'/n'; //caso encontre os dois na mesma linha, adiciona a função ao vetor de funcoes
}elseif($pos1!=0){
$funcao = substr($linha,$pos1,PHP_EOL);
$pos1=0;
}
if($pos2!=0){
$funcao = $funcao+substr($linha,0,$pos2);
$pos2=0;
}
echo $funcao.'/n';
}
}
private function fechaArquivo($arquivo){
fclose($arquivo);
}
}
detail, I'm using the same class file to test itself!
and this is the test ...
require_once'ListaFuncoes.php';
$diretorio = "F:\Neto\Dev\Zend_workspace\RemoteSystemsTempFiles\LOCALHOST\f\Neto\Dev\Zend_workspace\ListaFuncoes.php";
$lista = new ListaDeFuncoes($diretorio);
$lista->listarFuncoes();
and this is the error:
Warning: fopen (F: \ Net \ Dev \ Zend_workspace \ RemoteSystemsTempFiles \ LOCALHOST \ Net \ Dev \ Zend_workspace \ ListFuncoes.php): failed to open stream: Invalid argument in F: \ Net \ Dev \ Zend_workspace \ RemoteSystemsTempFiles \ LOCALHOST \ f \ Net \ Dev \ Zend_workspace \ ListFunctions.php online 25
Warning: feof () expects parameter 1 to be resource, boolean given in F: \ Net \ Dev \ Zend_workspace \ RemoteSystemsTempFiles \ LOCALHOST \ f \ Net \ Dev \ Zend_workspace \ ListFunctions.php on line 30 ERROR! Access is denied or file is missing.