RE: Re: Design Assistance

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for your thoughts Jason.  
In reference to the KISS method you mentioned..  ( taking a quick deep
breath... I resemble that remark!! ;) )  

No, actually, the way I normally structure my code is on each page I do the
following:

<?php

/* All includes and requires go here */

/* local functions go here */
	
/* Start by calling Main() */
main();

function main(){

  ... php code here...

}

?>
<!--- HTML code here -->
<HTML>
<HEAD> 
<TITLE></TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>

It's just when I look at my code it seems too simple as though I'm doing
something wrong. Like when I call a function to add/update/delete data
to/from a table, I'm not sure if I should display any errors that arise or
log them. My understanding with errorhandling is limited. I was thinking
that if I take all related functions that go together with a user, and put
them into a User object would be better. 

Hopefully all this makes sense to everyone.

Thanks again for your input.

Jim

-----Original Message-----
From: Jason Barnett [mailto:jason.barnett@xxxxxxxxxxxxx] 
Sent: Thursday, January 20, 2005 9:20 AM
To: php-windows@xxxxxxxxxxxxx
Subject:  Re: Design Assistance

Jim MacDiarmid wrote:
> I'm hoping someone can help me with some design thinking..   I'm still
> fairly new to php and most of my scripts are written in a rather
procedural
> format.  I'd like to try start thinking in a more object-oriented way.
The

There's no reason why you *have* to use objects.  Heck OOP isn't 
necessary in the least, especially in a web environment where it is 
likely you are going to be changing things around a lot.  ;)

That being said: if you *do* decide that organizing your code into 
objects is what you want to do is try to use objects to model things in 
the simplest way possible.  KISS = Keep It Simple Stupid.  No offense 
intended to you, it's what I say to myself also :)

For example if you want one of the object's methods to produce error 
messages well that's great... but don't echo it to the screen.  You 
might later instead decide that you want to log the errors into a file 
(when you move a script into production).

> piece I'm working on is rather simple but I'm not sure how to arrange
> things.  Basically, I'm making a list of users for a message board and
when
> the list is displayed, it looks similar to the following:
> 
>  
> 
> Add User <http://>  
> 
>  
> 
> |      ID     |       Name     |      Homepage     |   Action        |
> 
>
----------------------------------------------------------------------------
> ---------
> 
>         1          User1               http://...           Edit <http://>
> | Delete <http://> 
> 
>         2          User2               http://...           Edit <http://>
> | Delete <http://> 
> 
>         3          User3               http://...           Edit <http://>
> | Delete <http://> 
> 
>  
> 
> ..
> 
> I'd like to be able to do things like:
> 
>  
> 
> $obj = new member;
> 
> $obj->firstname = "Tim";
> 
> $obj->homepage = "www.myhomepage.com"; 
> 
> $obj->saveuser();
> 
>  
> 
> Or  
> 
>  
> 
> $obj->deleteuser($id);
> 
>  
> 
> Or 
> 
>  
> 
> $obj->getuser($id);
> 
>  
> 
> I'm not sure if I should include database functionality to this object or
if
> I should separate it to a database class.

As stated above: keep objects as simple as possible to give you some 
flexibility to use them in the future.  The PEAR::DB classes are built 
so that you can move from one database to another with relative ease. 
So by using a seperate DB object you are able to plug in a new database 
instead of oracle / mysql / whatever (should the need ever arise).

Harry Fueck's website http://phppatterns.com/ is a good place to start 
learning about objects in PHP.

> 
> Are there any good examples of doing things like this? I've got the
O'reilly
> book called PHP Cookbook and I was playing with the example on page 159,
> example 7.8..because they start out with what looks like the PEAR DB and
> that's what I'm using.
> 
> Any thoughts and/or help with this would be greatly appreciated
> 
>  
> 
> TIA!
> 
>  
> 
> Jim
> 
>  
> 
>  
> 
>  
> 
>  
> 
> 


-- 
Teach a man to fish...

NEW? | http://www.catb.org/~esr/faqs/smart-questions.html
STFA | http://marc.theaimsgroup.com/?l=php-general&w=2
STFM | http://www.php.net/manual/en/index.php
STFW | http://www.google.com/search?q=php
LAZY | 
http://mycroft.mozdev.org/download.html?name=PHP&submitform=Find+search+plug
ins

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux