dongtun3328 2018-11-13 00:28
浏览 37
已采纳

为什么我不能使用PHP访问类中的函数

An Error occurred when a function is called inside a Class.

The error message:

Parse error: syntax error, unexpected '$arquivo' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST) in C:\xampp\htdocs\sequencial\function_sintegra.php on line 20

Here I provide my code:

<?php

function explode_txt(){

    $arquivo = $_SESSION['nomeArquivo'];
    $conteudo = file_get_contents($arquivo);
    $linhas = explode("
", $conteudo);
}

class Sintegra{

    private $emissor;
    private $cnpj;
    private $inscricao;
    private $municipio;
    private $estado;
    private $dataInicial;
    private $dataFinal;

    $arquivo = explode_txt(); //Arquivo Sintegra em array nesta variavel, por linhas.

    $emissor = (string)substr($arquivo[0], 30, 35);
    $inscricao = (string)substr($arquivo[0], 16, 14);
    $cnpj = (string)substr($arquivo[0], 2, 14);

}

?>

Is there something wrong with how I access the function? I have tried to browse but could not find any solution. Thank you for your help.

  • 写回答

1条回答 默认 最新

  • dsv17139 2018-11-13 00:34
    关注

    You need to call outside function in class method.

    You can do this way:

    class Sintegra{
    
        private $emissor;
        private $cnpj;
        private $inscricao;
        private $municipio;
        private $estado;
        private $dataInicial;
        private $dataFinal;
    
        public function __construct() {
            $arquivo = explode_txt();
    
            $this->emissor = (string)substr($arquivo[0], 30, 35);
            $this->inscricao = (string)substr($arquivo[0], 16, 14);
            $this->cnpj = (string)substr($arquivo[0], 2, 14);
        }
    }
    

    Update This is the best way to do it.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大