You have a couple of options:

1. create a method in the myUser class for each field in the user table

2. just retrieve the user_id and look up the user:

      $this->user = UserPeer::retrieveByPk($this->getUser()->getId());

I prefer the first way because it makes the code a lot leaner and more 
readable.

Sumedh wrote:
> Thanks sounds good :)
> 
> Thanks Tom...
> 
> One more thing...
> 
> Is it advised not to store objects in the session as attributes...so
> will I need to store all the fields as individual attributes? :|
> 
> I mean, isn't it tedious, as we go on increasing the fields in user
> profile?
> 
> On Aug 19, 5:46 pm, Tom Haskins-Vaughan <[EMAIL PROTECTED]>
> wrote:
>> Here's a simple example:
>>
>> 1. create you're User table with the columns you want
>>
>> 2. build your model
>>
>> 3. in the myUser class define proxy methods set and retrieve
>>     the data from your User model objects:
>>
>>      // in myUser.class.php
>>      class myUser extends sfBasicSecurityUser
>>      {
>>         protected function getUser()
>>         {
>>           return UserPeer::retrieveByPk($this->getUserId());
>>         }
>>
>>        public function signIn($user)
>>        {
>>          $this->setAttribute('user_id', $user->getId(), 'user');
>>          $this->setAuthenticated(true);
>>        }
>>
>>        public function getUserId()
>>        {
>>          return $this->getAttribute('user_id', '', 'user');
>>        }
>>
>>        public function getFirstname()
>>        {
>>          return $this->getUser()->getFirstname();
>>        }
>>
>>        public function signOut()
>>        {
>>          $this->getAttributeHolder()->removeNamespace('user');
>>          $this->setAuthenticated(false);
>>        }
>>      }
>>
>> Now in your templates you can use:
>>
>>      Welcome back, <?php echo $sf_user->getFirstname() ?>, how are you?
>>
>> HTH
>>
>> Tom
>>
>>
>>
>> Sumedh wrote:
>>> Ok...
>>> I think using sfGuard would be an overkill as of now...
>>> If I simply want to -
>>> 1. Create a user table and define some columns in it...
>>> 2. Access this session data in actions and templates through $this-
>>>> getUser() method.
>>> How do I do this?
>>> If I simply create a UserPeer just as I do for other tables, and store
>>> it as an attribute in $this->getUser() object, will it be the right
>>> way to do this?
>>> I saw that the documentation advises against storing propel objects in
>>> this session object...how do I do it then?
>>> I saw there is a class sfBasicSecurityUser...what is it used for? I
>>> didn't find any mention of it in the documentation...
>>> On Aug 19, 10:34 am, Dennis Benkert <[EMAIL PROTECTED]>
>>> wrote:
>>>> On 18 Aug., 14:21, Sumedh <[EMAIL PROTECTED]> wrote:
>>>>> Anyone? :(
>>>>> I am really confused if I should use this plugin or do my own simple
>>>>> thing...
>>>>> Right now I am grappling with issues...just trying to figure out where
>>>>> is the code that compares user supplied credentials with DB data and
>>>>> decides this is a correct login...the executeSignin doesn't seem to
>>>>> have any code for this ??? :|
>>>> You'll find it in one of the validators bundeled with sfGuardPlugin.
>>>>> If I want to do my own simple thing, how can I make the $this->getUser() 
>>>>> object to point to a new object I'll create (that'll map to
>>>>> the new users table I'll create)?
>>>> maybe i misunderstand you but you can find it in your myUser class or
>>>> in the sfGuardSecurityUser class. Maybe take a closer look at the
>>>> sfGuardSecurityUser class. I think it bundles methods to log a user in
>>>> by hand.
>>>> - Dennis
>> --
>> Tom Haskins-Vaughan
>> Temple Street Media: Design and Development for the Web
>> [EMAIL PROTECTED] |www.templestreetmedia.com
> > 
> 

-- 
Tom Haskins-Vaughan
Temple Street Media: Design and Development for the Web
[EMAIL PROTECTED] | www.templestreetmedia.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to