PHPBuilder - PEAR Primer Page 6



RSS Twitter
Articles Pear

PEAR Primer - Page 6

by: Joe Stump
|
December 26, 2002

Putting It All Together!

Now that you basically know how to use the main PEAR classes and we've built our own base class, which is based on PEAR, we can put it all together in a User class for our site!

<?php

  
require_once('Base.php');

  
/**
  * User class
  *
  * A class to retrieve user information and perform basic 
  * user related tasks.
  *
  * @author Joe Stump <joe@joestump.net>
  */
  
class User extends Base
  
{
    
/**
    * @author Joe Stump <joe@joestump.net>
    * @access public
    */
    
var $userID;

    
/**
    * @author Joe Stump <joe@joestump.net>
    * @access public
    */
    
var $data;

    
/**
    * User constructor
    *
    * @author Joe Stump <joe@joestump.net>
    * @access public
    * @param int $userID
    * @return void
    */
    
function User($userID 0)
    {
      
$this->Base();

      if(
$userID)
      {
        
$sql "SELECT *
                FROM users
                WHERE userID='$userID'"
;

        
$result $this->db->query($sql);
        if(!
DB::isError($result) && $result->numRows())
        {
          
$this->data $result->fetchRow();
          
$this->userID $userID;
        }
        else
        {
          
$this = new PEAR_Error("Invalid userID: $userID");
        }
      }
      else
      {
        
$this->userID 0;
        
$this->data = array();
      }
    }

    
/**
    * isAdmin
    *
    * Check to see if the userID is in our admins table
    *
    * @author Joe Stump <joe@joestump.net>
    * @access public
    * @return bool
    */
    
function isAdmin()
    {
      
$sql "SELECT *
              FROM admins
              WHERE userID='"
.$this->userID."'";

      
$result $this->db->query($sql);
      if(
DB::isError($result) && $result->numRows())
      {
        return 
true;
      } 

      
$this->log->log('Failed isAdmin() with userID '.$this->userID.'!');
      return 
false;
    }

    
/**
    * User Destructor
    *
    * @author Joe Stump <joe@joestump.net>
    * @access public
    * @return void
    */
    
function _User()
    {
      
$this->_Base();
    }

  }

?>
As you can see from the above example once you have an instance of your User class you have everything you need to start manipulating data and doing some advanced debugging. Probably the best thing about working with PEAR is that it makes debugging your classes a lot easier.

« Previous Page
1
|
2
|
3
|
4
|
5
|
6
|
7
Next Page »

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
Joe Stump

Comment:



Comment:

(Maximum characters: 1200). You have characters left.