IV
Erro com call_user_func_array e foreach?
Olá pessoa, após publicar meu sistema na locaweb tenho encontrado algumas mensagem que não apresentava antes quando o sistema estava local (versão 5.6).
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'AdiantiWidgetBaseTElement' does not have a method 'setLayout' in /home/storage/a/68/e1/dominio/public_html/dominio/lib/adianti/widget/form/TField.php on line 102
Warning: Invalid argument supplied for foreach() in /home/storage/a/68/e1/dominio/public_html/dominio/lib/adianti/widget/form/TForm.php on line 346
Warning: Invalid argument supplied for foreach() in /home/storage/a/68/e1/dominio/public_html/dominio/lib/adianti/wrapper/BootstrapFormBuilder.php on line 404
se eu comentar a linha do return o erro desaparece, mas creio que não seja a forma correta de resolver.
Observei que esses erros acontecem nas classes que eu utilizo "TSession"
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'AdiantiWidgetBaseTElement' does not have a method 'setLayout' in /home/storage/a/68/e1/dominio/public_html/dominio/lib/adianti/widget/form/TField.php on line 102
- <?php
- public function __call($method, $param)
- {
- return call_user_func_array( array($this->tag, $method), $param );
- }
- ?>
Warning: Invalid argument supplied for foreach() in /home/storage/a/68/e1/dominio/public_html/dominio/lib/adianti/widget/form/TForm.php on line 346
- <?php
- foreach ($this->fields as $name => $field)
- {
- if ($name) // labels don't have name
- {
- if (isset($object->$name))
- {
- $field->setValue($object->$name);
- }
- }
- }
- ?>
Warning: Invalid argument supplied for foreach() in /home/storage/a/68/e1/dominio/public_html/dominio/lib/adianti/wrapper/BootstrapFormBuilder.php on line 404
- <?php
- foreach ($this->tabcontent as $tab => $rows)
- {
- $tabpanel = new TElement('div');
- $tabpanel->{'role'} = 'tabpanel';
- $tabpanel->{'class'} = 'tab-pane ' . ( ($tab_counter == $this->current_page) ? 'active' : '' );
- $tabpanel->{'style'} = 'padding:10px; margin-top: -1px;';
- ?>
se eu comentar a linha do return o erro desaparece, mas creio que não seja a forma correta de resolver.
Observei que esses erros acontecem nas classes que eu utilizo "TSession"
Galera não sei se fiz certo mas, eu usei um IF para ver se o parametro não é vazinho.
Tem outra forma correta de resolver esse problema?
Vi al algum lugar que alguém estava passando pelo mesmo problema e era a versão do php da Locaweb. Aí parece que pediu para atualizar para uma versão mais nova e resolveu...
[]'s
Seu servidor local está configurado para exibir os erros?
O primeiro erro diz que você está chamando a função setLayout em um objeto TElement, mas essa função não existe. Poste o código aqui qualquer coisa.