Почему я не могу получить доступ к функции внутри класса, используя переполнение стека

Произошла ошибка, когда функция вызывается внутри класса.

Сообщение об ошибке:

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

Здесь я предоставляю свой код:

<?php

function explode_txt(){

$arquivo = $_SESSION['nomeArquivo'];
$conteudo = file_get_contents($arquivo);
$linhas = explode("\n", $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);

}

?>

Что-то не так с доступом к функции?
Я попытался просмотреть, но не смог найти никакого решения.
Спасибо за помощь.

0

Решение

Вам нужно вызвать внешнюю функцию в методе класса.

Вы можете сделать это так:

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);
}
}

Обновить
Это лучший способ сделать это.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector