Baixei a versão 0.2.2 do igrape, e testando o model do php não consegui fazer funcionar na hora de salvar, apenas para consultar.
fazendo testes nos exemplos e usando a chamada /phpburn/save, ele retornava que "Invalid model specified".
Então após depurar o código, percebi que deveria criar um model para o mesmo.
Então criei dentro de models o phpburn.php com o seguinte código:
<?php
class PhpburnModel extends PhpBURN_Core {
//Configuration
public $_tablename = 'avelino2';
public $_package = 'igrape';
//Fields
public function _mapping() {
$this->getMap()->addField('id_pessoa', 'id_pessoa', 'int', 10, array('auto_increment' => true, 'not_null' => true, 'primary' => true));
$this->getMap()->addField('nome2', 'nome2', 'varchar', 255, array('not_null' => true));
}
}
?>
ainda não funcionou, mas depurando percebi que progredi.
então depurando o core.php no método construtor (iGrape), percebi na linha 149 que estava estranha a verificação do if os argumentos
passados no método is_callable.
A linha está:
if($_model->model[0] == "_" || is_callable(array('Model', $_model->model)))
olhando na documentação do php, notei que quando passasse por array, o primeiro elemento deveria ser o objeto que deseja checar o método e o segundo
elemento deveria ser o nome do método.
Então experimentei deixar esta linha da seguinte maneira:
if($_model->model[0] == "_" || !is_callable(array($_model, $_model->model)))
e progrediu começando a gravar. Porém me retornou uns warnings:
Warning: Invalid argument supplied for foreach() in
C:\wamp\www\igrape\system\libraries\phpBurn\libs\Dialect\Dialect.php on line
451
Warning: array_reverse() expects parameter 1 to be array, null given in
C:\wamp\www\igrape\system\libraries\phpBurn\libs\Dialect\Dialect.php on line
343Warning: include(application/views/default.php) [
function.include]: failed to open stream: No such file or directory in
C:\wamp\www\igrape\system\libraries\igrape\core.php on line
248
Warning: include() [
function.include]: Failed opening 'application/views/default.php' for inclusion (include_path='.;C:\php5\pear;C:\wamp\www\igrape/system/libraries;: application/models/igrape/: application/models/phpburn/') in
C:\wamp\www\igrape\system\libraries\igrape\core.php on line
248
Mas só que se faço a chamada padrão ele não funciona (?/phpburn). Então comentei a verificação do is_callable e ele exibe.
Acho que a verificação do método não deveria ser neste trecho, e nem retornar aquela mensagem, pois o model funciona e existe, mas é o método dele que é inválido.
Só gostaria de fazer estes warnings sumir.
Agora não tenho certeza se a alteração que fiz estava correta. Mas ainda não consegui fazer este model no igrape funcionar legal.
Se alguém puder me dar alguma dica, eu agradeço.
Att,
Alexandre