RA
Erro ao tentar fazer o exemplo do livro de TLoggerTXT
Prezados,
Estou estudando o framework por intermédio do livro do curso. Porém, ao tentar fazer o exemplo de log recebo o erro abaixo:
Exceção
fwrite(): Argument #1 ($stream) must be of type resource, bool given
D:xampphtdocscursolibadiantilogTLoggerTXT.php:30
File: libadiantilogTLoggerTXT.php:30
fwrite(,Debug: 2025-03-01 18:11:36 - ** inserindo cidade )
File: libadiantidatabaseTTransaction.php:244
AdiantiLogTLoggerTXT->write(** inserindo cidade)
File: appcontrolexemplosStateView.php:18
AdiantiDatabaseTTransaction::log(** inserindo cidade)
File: libadianticoreAdiantiCoreApplication.php:88
StateView->__construct(StateView)
File: engine.php:28
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php:73
TApplication::run()
Meu código é:
Estou estudando o framework por intermédio do livro do curso. Porém, ao tentar fazer o exemplo de log recebo o erro abaixo:
Exceção
fwrite(): Argument #1 ($stream) must be of type resource, bool given
D:xampphtdocscursolibadiantilogTLoggerTXT.php:30
File: libadiantilogTLoggerTXT.php:30
fwrite(,Debug: 2025-03-01 18:11:36 - ** inserindo cidade )
File: libadiantidatabaseTTransaction.php:244
AdiantiLogTLoggerTXT->write(** inserindo cidade)
File: appcontrolexemplosStateView.php:18
AdiantiDatabaseTTransaction::log(** inserindo cidade)
File: libadianticoreAdiantiCoreApplication.php:88
StateView->__construct(StateView)
File: engine.php:28
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php:73
TApplication::run()
Meu código é:
<?phpuse Adianti\Control\TPage;use Adianti\Database\TTransaction;use Adianti\Log\TLoggerTXT;class StateView extends TPage{ public function __construct() { parent::__construct(); try { TTransaction::open('curso'); // define o log TTransaction::setLogger(new TLoggerTXT('/tmp/log.txt')); TTransaction::log("** inserindo cidade"); $cidade = new City; // cria novo objeto $cidade->name = 'Porto Alegre'; $cidade->state_id = '1'; $cidade->store(); // armazena o objeto new TMessage('info', 'Objeto armazenado com sucesso'); TTransaction::close(); } catch (Exception $e) { new TMessage('error', $e->getMessage()); } }}?>
O que está errado?
Att.
Ricardo Almeida.
Talvez onde você esteja executando não exista uma pasta chamada /tmp.
Em sistemas windows, por exemplo, não existe.