Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework] Undefined variable: user in view
michal47
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 1.01.2014

Ostrzeżenie: (0%)
-----


Witam,
mam mam problem z ktorym tocze walke od kilku godzin i czuje sie zagubiony wiec prosze was o pomoc.
Jestem poczatkujacy w php i to moja pierwsza aplikacjia w framworku zend.
Tworze panel do zarzadzania uzytkownikami i otrzymuje komunikat :
<pre>
Użytkownicy systemu
Nazwa użytkownika Email Hasło

Notice: Undefined variable: user in C:\xampp\htdocs\zend\module\Users\view\users\user-manager\index.phtml on line 12

Notice: Trying to get property of non-object in C:\xampp\htdocs\zend\module\Users\view\users\user-manager\index.phtml on line 12

Notice: Undefined variable: user in C:\xampp\htdocs\zend\module\Users\view\users\user-manager\index.phtml on line 13

Notice: Trying to get property of non-object in C:\xampp\htdocs\zend\module\Users\view\users\user-manager\index.phtml on line 13

Notice: Undefined variable: user in C:\xampp\htdocs\zend\module\Users\view\users\user-manager\index.phtml on line 14

Notice: Trying to get property of non-object in C:\xampp\htdocs\zend\module\Users\view\users\user-manager\index.phtml on line 14
</pre>

zmienna ktora przekazuje z kontrollera istnieje i zawiera tablice z uzytkownikami sprawdzalem za pomoca <<var_dump>>

oto moje klasy :

CONTROLLER

<pre>
<?php
namespace Users\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

use Zend\Authentication\AuthenticationService;
use Zend\Authentication\Adapter\DbTable as DbTableAuthAdapter;

use Users\Form\RegisterForm;
use Users\Form\RegisterFilter;

use Users\Model\User;
use Users\Model\UserTable;
use Users\Model\UserMail;

class UserManagerController extends AbstractActionController
{
public function indexAction()
{
$this->layout('layout/layout');

$userTable = $this->getServiceLocator()->get('UserTable');
$viewModel = new ViewModel(array('users' => $userTable->fetchAll()));
return $viewModel;
}


}

?>
</pre>

VIDOK
<pre>
<h3>Użytkownicy systemu</h3>
<table class="table">
<tr>
<th>Nazwa użytkownika</th>
<th>Email</th>
<th>Hasło</th>
<th>&nbsp;</th>
</tr>

<? foreach($users as $user): ?>
<tr>
<td><?php echo $this->escapeHtml($user->name);?></td>
<td><?php echo $this->escapeHtml($user->email);?></td>
<td><?php echo $this->escapeHtml($user->password);?></td>
<td>
<a href="<?php echo $this->url('users/user-manager', array('action'=>'edit', 'id' => $user->id));?>">Edycja</a> |
<a href="<?php echo $this->url('users/user-manager', array('action'=>'delete', 'id' => $user->id));?>" onclick="return confirm('Jesteś pewien ?')">Usunięcie</a>
</td>
</tr>
<? endforeach; ?>
</table>
</pre>

FUNKCJA DLA SERVICELOCATOR W MODUL.PHP
<pre>
public function getServiceConfig()
{
return array(
'abstract_factories' => array(),
'aliases' => array(),
'factories' => array(
// SERWISY
'AuthService' => function($sm)
{
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$dbTableAuthAdapter = new DbTableAuthAdapter($dbAdapter, 'user','email','password', 'MD5(?)');

$authService = new AuthenticationService();
$authService->setAdapter($dbTableAuthAdapter);
return $authService;
},
'UserTable' => function($sm)
{
$tableGateway = $sm->get('UserTableGateway');
$table = new UserTable($tableGateway);
return $table;
},
'UserTableGateway' => function ($sm)
{
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new User());
return new TableGateway('user', $dbAdapter, null, $resultSetPrototype);
},
'UserEditForm' => function ($sm)
{
$form = new \Users\Form\UserEditForm();
$form->setInputFilter($sm->get('UserEditFilter'));
return $form;
},
'UserEditFilter' => function ($sm)
{
return new \Users\Form\UserEditFilter();
},
)
);
}
</pre>

zmienna przekazuje do widoku, gdy dodalem ten kod do widoku:
<pre>
<?php if ($this->users): ?>
<p>
zmienna zostala przekazana
</p>
<?php endif ?>
</pre>
i wyswietla mi sie tekst zmienna zostala przekazane, wiec nie czaje co jest nie tak i jeszcze raz zwracam sie o pomoc do was
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:16