[igrape php]: chamada de models

4 views
Skip to first unread message

Alexandre Cintra

unread,
Nov 17, 2010, 1:57:52 PM11/17/10
to igr...@googlegroups.com
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 343

Warning: 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

Alexandre de Oliveira Andrade Cintra


Reply all
Reply to author
Forward
0 new messages