PHPEveryday.com PHP and Web Development Tutorial
What are you looking for?


Table of Content
Zend Framework Tutorial

Learn Zend Framework Intro
Zend Folder
Zend Anatomy
Zend Access File
Zend .htaccess
Zend Controller
Zend View

Learn Zend Framework Action
Zend Content
Zend URL Controller
Zend URL Action
Zend GET
Zend Including

Learn Zend Framework Database
Zend Database
Zend Input Form
Zend Inputing Data
Zend Expressions
Zend Data List
Zend Editing Form
Zend Updating Data
Zend Update Query
Zend Deleting Data
Zend Delete Query
Zend Action

Learn Zend Framework Registry
Zend Values
Zend Array
Zend Objects

Learn Zend Framework Config
Zend Array Config
Zend File Config
Zend INI File
Zend XML File

Learn Zend Framework Login
Zend Database
Zend Form Login
Zend Authentication
Zend Fatal error
Zend Protected
Zend Logout
Zend Switching

Learn Zend Framework Session
Zend Session
Zend Namespace
Zend Session Data
Zend Value
Zend Lock
Zend Expiration
SMS : Line Codes Send Simple SMS (Part 2) »

Zend Framework Session: Using Namespace


Zend Framework Session Step By Step Tutorial - Part 2: In this post, we will learn to implement namespace into session at Zend Framework. If you are not familiar with namespace, don't worry. It is simple. Let's do it.

Simply, namespace is like name of groups of associative arrays, keyed by strings. For practice, we use our previous practice.

Ok, we want to count number of a particular page request form a visitor. See this picture:

count number of page request

To do this, open your UserController.php within application/controllers. Include Zend/Session/Namespace.php at first line after delimeter.

require_once 'Zend/Session/Namespace.php';

Edit loginFormAction() method become like this:

  public function loginFormAction()
  {
    $request = $this->getRequest();  
	
    $ns = new Zend_Session_Namespace('HelloWorld');
    
	if(!isset($ns->yourLoginRequest)){
	  $ns->yourLoginRequest = 1;
	}else{
	  $ns->yourLoginRequest++;
	}
    
	$this->view->assign('request', $ns->yourLoginRequest);
	$this->view->assign('action', $request->getBaseURL()."/user/auth");  
    $this->view->assign('title', 'Login Form');
    $this->view->assign('username', 'User Name');	
    $this->view->assign('password', 'Password');	
	    
  }

At line 5, we define object of namespace. The namespace, we named "HelloWorld". It is like $_SESSION['HelloWorld']. You can put name such as mynamespace, myapplication, etc.

Next, at line 7, we check value of $ns->yourLoginRequest. It is like $_SESSION['HelloWorld']['yourLoginRequest']. Next, modify loginform.phtml within application/views/scripts/user. Update become like this:

<? include "header.phtml"; ?>
  <h1><?=$this->escape($this->title);?></h1>
  You have entered this page: <?=$this->escape($this->request);?> time(s).
  <form method='post' action='<?=$this->escape($this->action);?>'>
  <table>
    <tr>
	  <td><?=$this->escape($this->username);?></td>
	  <td><input type='text' name='username'></td>
	</tr>
    <tr>
	  <td><?=$this->escape($this->password);?></td>
	  <td><input type='password' name='password'></td>
	</tr>	
  </table>
  <input type='submit' name='login' value='Login'>
  </form>
<? include "footer.phtml"; ?>

Now, point your browser to http://localhost/test/zend/helloworld/web_root/user/loginform. You may get screen like picture above.

Ok, try again for userPageAction() at controller. Update become like this:

  public function loginFormAction()
  {
    $request = $this->getRequest();  
	
    $ns = new Zend_Session_Namespace('HelloWorld');
    
	if(!isset($ns->yourLoginRequest)){
	  $ns->yourLoginRequest = 1;
	}else{
	  $ns->yourLoginRequest++;
	}
    
	$this->view->assign('request', $ns->yourLoginRequest);
	$this->view->assign('action', $request->getBaseURL()."/user/auth");  
    $this->view->assign('title', 'Login Form');
    $this->view->assign('username', 'User Name');	
    $this->view->assign('password', 'Password');	
	    
  }

Then, update its view at application/views/scripts/user/userpage.phtml:

<? include "header.phtml"; ?>
<h1>Hello, <?=$this->escape($this->real_name);?></h1>
You have entered this page: <?=$this->escape($this->request);?> time(s).
<a href='<?=$this->escape($this->urllogout);?>'>Logout</a>
<? include "footer.phtml"; ?>


Series this article:
Zend Framework Session: Introduction
Zend Framework Session: Using Namespace
Zend Framework Session: Accessing Session Data
Zend Framework Session: Seing All Values at Namespace
Zend Framework Session: Locking and Unlocking Namespace
Zend Framework Session: Automatic Expiration


Tag: framework, zend, zend framework, session, namespace Category: PHP Framework Post : April 23rd 2008 Read: 11,056 Bookmark and Share

blog comments powered by Disqus


Database Tutorial
  • Learn PHP MySQL
  • Learn PHP ADOdb
  • Learn PHP Data Object/PDO
  • Learn PHP XML
  • Learn PHP SimpleXML
Security Tutorial
  • Learn PHP Security
  • Learn HTTP Authentication
  • Learn PHPSecureSite
Framework Tutorial
  • Learn CodeIgniter
  • Learn Joomla
  • Learn Smarty
  • Learn Zend Framework
Template Tutorial
  • Learn Joomla Template
  • Learn WordPress Template
API Tutorial
  • Learn Facebook
JS Framework Tutorial
  • Learn MooTools
  • Learn JQuery
AJAX Tutorial
  • Learn AJAX in 10 Minutes
  • Learn AJAX Client Side
  • Learn AJAX PHP
  • Learn AJAX Remote Server
  • Learn AJAX Repetitive
  • Learn AJAX MySQL
  • Learn AJAX Grid
Web Services Tutorial
  • Learn Web Services NuSOAP
  • Learn Web Services WSDL
  • Learn Web Services WSDL Array
  • Learn Web Services .NET Grid
  • Learn Web Services WDDX
Package Post
  • Joomla Intro
  • Joomla Component
  • Joomla Module
  • Joomla MVC
  • Joomla MVC Backend
  • PostNuke Intro
  • Zend Framework Intro
  • Zend Framework Action
  • Zend Framework Database
  • Zend Framework Registry
  • Zend Framework Config
  • Zend Framework Login
  • Zend Framework Session
  • PHP Array Tips
  • PHP File Tips
  • PHP Email
  • PHP Ms Excel
  • PHP Pattern
  • PHP SMS
  • Flash Database
  • PHP Multitier
  • jQuery Introduction
  • jQuery Selectors
  • Portable Web Server
  • Web Mobile Intro
  • Drupal Installation
  • Drupal Configuration