473,836 Members | 2,130 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Object Oriented PHP

I am new to PHP, just one day new. But I am otherwise a seasoned
programmer on many other languages like C, VB 6, C#, VB.NET, Win32
platform and have some tiny bit experience in MFC, C++, Python.

All the tutorials I read so far about PHP contain procedural examples.
I haven't yet come accross a tutorial on the object oriented PHP. Could
someone point me to one?

Jun 17 '06
73 4522

"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:oM******** *************** *******@comcast .com...
Tony Marston wrote:
"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:Ir******** *************** *******@comcast .com...
Henk Verhoeven wrote:

Jerry Stuckle wrote:
> Actually, things like private declarations are very important.

IMHO private declarations are too rigid and therfore decrease
reusability . I agree that it can be very usefull to know the intentions
of the developer of some code one is evaluating to call or some member
variable one is avaluating to access. But every now and then there are
good reasons to do it anyway, even if it was intended to be private. For
example lazy initialization and default reasoning both are often
implement ed using direct access to member variables. Another example is
using a visitor to implement persistency.

Now maybe you would say that i should change these member variables to
protected or public. There are two problems with this:
1. It may not be my own code. Then if i get an upgrade of this code,
these member variables will once again be private, unless i re-apply my
changes. This is uneccessary overhead.
2. By changing the private declaration the intension of the other
developer gets lost. Now i could put a comment in that it was intended
to be private, but in that case: why not put the @private marker in the
comment in the first place?

The fundamental point is: With these private and protected declarations
you get stuck with the uneccessarily limitations introduced by the
author. Object-orientation can lead to more reusability then
conventiona l parameterized code exactly because the code can be
overridde n and extended in ways the original author did not provide for.
private and protected declarations are a step backwards that is only
reasonabl e if you assume that future developers that will maintain or
reuse your code will ignore your intentions becuase they are fools. If
this is the case, i think you should tell your boss that you are
limiting the reusability of your code because you are aniticipating him
to hire fools and let them work on/with your code ;-)

Greetings ,

Henk Verhoeven,
www.phpPeanuts.org.

Henk,

Private declarations are key to OO programming.

No they are not. Encapsulation is not the same as data hiding. Please
refer to:
http://www.javaworld.com/javaworld/j...psulation.html
http://www.itmweb.com/essay550.htm


Give it up, Tony. You obviously can't even understand the information you
reference.


No, I won't give it up. Both those articles clearly state that private
declarations (data hiding) is *not* one of the key concepts of OO.
Encapsulation is about *implementation * hiding, not information* hiding.

--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org
Jun 27 '06 #61

"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:T4******** *************** *******@comcast .com...
Tony Marston wrote:
"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:Cb******** *************** *******@comcast .com...
Tony Marston wrote:

>And the opinion of other experts in the field - such as the ones I
>mentione d before.
Even experts disagree on what is or is not the *right* way in OO, so all
I am doing is agreeing with those experts who disagree with your your
favourite experts.
But NONE of the experts disagree on message passing. Check out what
Booch, Rumbaugh or Iverson have to say, for instance. Especially Booch -
the founder of OO techniques.

Message passing exists in non-OO languages, so it not something whch is
unique to OO.


I never said it was unique to OO. Variables exist in non-OO languages
also. The difference is that message passing is an inherent requirement in
OO languages, where it isn't in non-OO languages.


The mere fact that you call one object from another automatically means that
you have messaging. There is no special technique nvolved. It is just the
same as calling a non-OO function, just that you hae to specify both the
oject and the method.
You can, for instance, write a complete program in C without a function
call other than main(). Or in VB with no subroutines, etc.

It's not possible in an OO program.
>Your implementation violates some of the basic reasons for even having
>OO! And no, I don't believe MY way is the only way. But I believe the
>experts in the field know a hell of a lot more about it than you do.
I disagree. I am using the three basic principles of OO, as documented,
to achieve a higher level of reuse than I could by using non-OO
technique s.
And you're missing the fourth principle.

Message passing is not unique to OO, and is not one of the fundamental
principles. It is simply the way that one object communicates with
another.


And without it objects cannot communicate, so you have no program.


"Messaging" is just the same as "callng a function". There is nothing
special to it at all.
>I suspect you've had no real-world OO experience. Large, complex
>projects OO is designed to make easier. All of your experience is
>probably simple PHP pages you do yourself with no collaboration.
At least I have not been taught by people who don't know what they're
talking about.
So obviously you have no real world experience.
>Your attitude would never survive in a the large scale projects I've
>been involved in (100+ programmers, 2 years+ time). But then it
>wouldn't survive the smaller projects I've been involved in, either -
>(i.e. three programmers for two months).
The size of project is irrelevant. The OOP principles are the same
regardles s of the size of project. The only project I have ever been
associate d with which failed disastrously was one where the system
architect s got carried away with their fancy ideas of how OOP should be
implement ed and produced something that was so inefficient and
unproductiv e that the client cancelled the entire project as soon as the
first live programs were produced. It was THEIR attitude that was wrong,
not mine.
If you had worked on something other than a 50 LOC web site you'd know
that is complete horse shit.

Excuse me? I have produced administrative web applications with over 500
components, so that puts me way beyond the 50 LOC web site.


"Administra tive web applications"? ROFLMAO! Try a real program. > 1M
LOC, 100+ programmers working for over 2 years. Or even something with
10K LOC - all in one file, not a bunch of separate web pages.

I'll bet none of your "web programs" has more than 500 LOC on a single
page.


None, actually. That's because I make use of a large library of reusable
modules. Isn't that supposed to be what OO is all about, making maximu use
of reusable modules?
Just because some system architects didn't know what they were doing
doesn't mean OO is bad. It means only that they had no idea what they
were doing.

But they were folowing allthe rules, so how could they be wrong?


You don't read well, do you. Just because some system architects didn't
know what they were doing doesn't mean that OO is bad. It means only that
they had no idea what they were doing.
For the record - since starting with OO in 1988, I've been involved in a
number of projects - small to large. And every project where people knew
what they were doing was successful.

If your techniques produce something that works, then you are obviously
doing something right. It is only when the software does not work that
you can say that the techniques were wrong. My techniques work, therefore
you have no cause to say that the are wrong.


Wrong, wrong, wrong. And unfortunately the attitude of too many
"programmer s" like you who are "developing " web pages. You can get a lot
of things to work. That doesn't mean they are right. And you're
"justificat ion" has too many holes to count.


Something that works cannot be wrong just as something that does not work
cannot be right. If you cannot understand that simple concept you have no
right to class yourself as an "expert" (except in BS)

--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org
Jun 27 '06 #62
Tony Marston wrote:
"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:T4******** *************** *******@comcast .com...

The mere fact that you call one object from another automatically means that
you have messaging. There is no special technique nvolved. It is just the
same as calling a non-OO function, just that you hae to specify both the
oject and the method.

So now you're agreeing that message passing is intrinsic to OO. Interesting
about face.

Message passing is not unique to OO, and is not one of the fundamental
principles . It is simply the way that one object communicates with
another.


And without it objects cannot communicate, so you have no program.


So Message Passing is one of the properties of OO.

"Messaging" is just the same as "callng a function". There is nothing
special to it at all.

In PHP, that is true. Other languages may implement it differently. The
concept exists; the implementation is left to the language designers.

I'll bet none of your "web programs" has more than 500 LOC on a single
page.

None, actually. That's because I make use of a large library of reusable
modules. Isn't that supposed to be what OO is all about, making maximu use
of reusable modules?


Yep. Try working on a big program - like I've said before. It's not all in one
file, and may have hundreds or even thousands of objects.

PART of what OO is about is making reusable classes. Another part is isolating
the interface from the implementation to make changes easier and limit the
unwarranted effects of changes. Also to make programming easier by being able
to operate on an object without having to worry what that object is. The list
goes on.

Yes, reuse is *one* of the reasons for OO programming.

Wrong, wrong, wrong. And unfortunately the attitude of too many
"programmer s" like you who are "developing " web pages. You can get a lot
of things to work. That doesn't mean they are right. And you're
"justificatio n" has too many holes to count.

Something that works cannot be wrong just as something that does not work
cannot be right. If you cannot understand that simple concept you have no
right to class yourself as an "expert" (except in BS)


No, Tony, something can work but be wrong. And something that doesn't work may
not be completely right - but that doesn't mean it's wrong.

You are an expert in BS, I will agree.
--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jun 27 '06 #63
Tony Marston wrote:
"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:oM******** *************** *******@comcast .com...
Tony Marston wrote:
"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:Ir***** *************** **********@comc ast.com...
Henk Verhoeven wrote:
>Jerry Stuckle wrote:
>
>>Actuall y, things like private declarations are very important.
>
>IMHO private declarations are too rigid and therfore decrease
>reusabilit y. I agree that it can be very usefull to know the intentions
>of the developer of some code one is evaluating to call or some member
>variable one is avaluating to access. But every now and then there are
>good reasons to do it anyway, even if it was intended to be private. For
>example lazy initialization and default reasoning both are often
>implemente d using direct access to member variables. Another example is
>using a visitor to implement persistency.
>
>Now maybe you would say that i should change these member variables to
>protecte d or public. There are two problems with this:
>1. It may not be my own code. Then if i get an upgrade of this code,
>these member variables will once again be private, unless i re-apply my
>changes. This is uneccessary overhead.
>2. By changing the private declaration the intension of the other
>develope r gets lost. Now i could put a comment in that it was intended
>to be private, but in that case: why not put the @private marker in the
>comment in the first place?
>
>The fundamental point is: With these private and protected declarations
>you get stuck with the uneccessarily limitations introduced by the
>author. Object-orientation can lead to more reusability then
>convention al parameterized code exactly because the code can be
>overridd en and extended in ways the original author did not provide for.
>private and protected declarations are a step backwards that is only
>reasonab le if you assume that future developers that will maintain or
>reuse your code will ignore your intentions becuase they are fools. If
>this is the case, i think you should tell your boss that you are
>limiting the reusability of your code because you are aniticipating him
>to hire fools and let them work on/with your code ;-)
>
>Greeting s,
>
>Henk Verhoeven,
>www.phpPeanuts.org.

Henk,

Private declarations are key to OO programming.
No they are not. Encapsulation is not the same as data hiding. Please
refer to:
http://www.javaworld.com/javaworld/j...psulation.html
http://www.itmweb.com/essay550.htm


Give it up, Tony. You obviously can't even understand the information you
reference.

No, I won't give it up. Both those articles clearly state that private
declarations (data hiding) is *not* one of the key concepts of OO.
Encapsulation is about *implementation * hiding, not information* hiding.


Try reading from a real expert - like Booch, Rumbaugh or Iverson. Just because
someone posts something on the internet doesn't make them an expert. You've
proven that several times here.
--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jun 27 '06 #64

"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:7s******** *************** *******@comcast .com...
Tony Marston wrote:
"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:Te******** *************** *******@comcast .com...
Tony Marston wrote:

"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:7f**** *************** ***********@com cast.com...
>Tony Marston wrote:
>
>
>>"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
>>news:tM** *************** *************@c omcast.com...
>>
>>
>>
>>>Tony Marston wrote:
>>>
>>>
>>>
>>>>"Jerr y Stuckle" <js*******@attg lobal.net> wrote in message
>>>>news:ce *************** *************** @comcast.com...
>>>>
>>
>><snip>
>>
>>>>OO is about encapsulation, polymorphism and inheritance. Message
>>>>passi ng is incidental.
>>>>
>>>>
>>>>
>>>>>And YOU are the one "bastardizi ng" OO. Your sloppy approach to
>>>>>progra mming is just what *real* OO is designed to eliminate. And
>>>>>it makes the coding much more maintainable, expandable and
>>>>>modifi able.
>>>>
>>>>
>>>>Not the way some people use OO. They deliberately make it more
>>>>complic ated than it need be, while I keep it as simple as possible.
>>>>
>>>
>>>And that is where you are 100% wrong. Message passing is an integral
>>>part of both object-based and object-oriented languages.
>>>
>>>One bit of wisdom, Tony. Tis better to remain silent and have
>>>everyo ne thing you might be a fool than to open your mouth and remove
>>>all doubt.
>>>
>>>In the OO world you have removed all doubt.
>>
>>
>>The three principles of OO are encapsulation, polymorphism and
>>inheritan ce. Message passing does not appear in that list, so it is a
>>minor detail.
>>
>
>And that's where you are totally wrong.
Excuse me? After performing a google search on OOP all I see quoted time
after time are the three basic principles - encapsulation, inheritance
and polymorphism - so how could I possibly be wrong?
Maybe if you check some sites which know what they're talking about -
instead of your own. Try some like:

http://www.fincher.org/tips/General/...edDesign.shtml
http://en.wikipedia.org/wiki/Object-...ed_programming
http://www.awprofessional.com/bookst...824191&redir=1
http://www.objectfaq.com/oofaq2/body/basics.htm

Just for starters.

I got my information from these sites:

http://c2.com/cgi/wiki?ObjectOriented
http://c2.com/cgi/wiki?PolymorphismE...ionInheritance
http://en.wikipedia.org/wiki/Object-...ed_programming
http://www.phpbuilder.com/columns/luis20000420.php3

All I see about message passing is that it is how one object communicates
with another. This is a trivial detail compared with encapsulation,
inheritance and polymorphism. Even non-OO languages can pass messages, so
what's so important about it?


Gee, and wiki's are the Last Word? ROFLMAO! Try some real experts - like
Booch, Iverson and Rumbaugh, for instance. These guys have been
recognized as experts throughout the world for upwards of 20 years -
instead of some guy who posted in a wiki.


There is nothing special with messaging. It's a piece of code calling a
function, which has existed in many non-OO languages for decades. There is
no difference between calling a function and calling a method (function)
within an object.

OOP is about encapsulation, inheritance and polymorhism, and the ability to
create objects from classes. It is taken for granted that there is a method
of communicating with each of the objets ou create. There is nothing special
about "messaging" at all.
However, wikipedia (which I also mentioned because it might meet your
level of intelligence), says under "Fundamenta l Concepts":

"Method (also known as message) — how code can use an object of some
class. A method is a form of subroutine operating on a single object
Other languages have had the ability to create subroutines, and to be able
to call those subrutines, for ages. There is nothing special about that
which only eists in OOP.
. Methods may be divided into queries returning the current state and
commands changing it:
Other langages have had the ability for a module to have several entry
points, and for each entry point to do something different, for decades.
There is nothing special about his technique which is unique to OOP,
therefore saying that it is a fundamental priciple of OOP is entirely
misleading. AFAIAC it is a fundamental requirement of EVERY language, OO and
non-OO, to be able to call one module from another. This is a standard
requirement, there is nothing special aout it at all.
a Dog could have a query Age to say how old it is, and command chase
(Rabbit target) to start it chasing a rabbit. A method may also do both,
but some authorities (e.g. Bertrand Meyer) recommend they be kept
separate. Sometimes access to the data of an object is restricted to the
methods of its class."

It is important because that's how you communicate with objects. It's the
interface, which is public, instead of the implementation, which is
private.
Calling a function and passing parameters to it, and getting parameters
back, is not something which is unique to OO. It is a standard feature of
EVERY language, therefore to say that it is a fundamental principle of OOP
carries no more weight than saying the ability to declare variables is a
fundamental principle of OOP. It is oneof those obvious things which should
not have to be stated.
But if you understood OO as well as you claim you would understand that.


The difference between an OO and a non-OO language is that one has
encapsulation, inheritance and polymorphism while the other does not. Both
have messaging (the ability to call functions) so that is a complete red
herring.

--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org
Jun 27 '06 #65
Tony Marston wrote:


There is nothing special with messaging. It's a piece of code calling a
function, which has existed in many non-OO languages for decades. There is
no difference between calling a function and calling a method (function)
within an object.

OOP is about encapsulation, inheritance and polymorhism, and the ability to
create objects from classes. It is taken for granted that there is a method
of communicating with each of the objets ou create. There is nothing special
about "messaging" at all.

Well, the fact is, messages (function calls) are OPTIONAL in other languages.
You can build a C program without any functions (other than main()). You can
build an assembler program with no subroutines.

But OO *REQUIRES* messages.
However, wikipedia (which I also mentioned because it might meet your
level of intelligence), says under "Fundamenta l Concepts":

"Method (also known as message) — how code can use an object of some
class. A method is a form of subroutine operating on a single object

Other languages have had the ability to create subroutines, and to be able
to call those subrutines, for ages. There is nothing special about that
which only eists in OOP.


Sure, they *HAVE THE ABILITY*. In OO, you *MUST CREATE THEM*.
. Methods may be divided into queries returning the current state and
commands changing it:

Other langages have had the ability for a module to have several entry
points, and for each entry point to do something different, for decades.
There is nothing special about his technique which is unique to OOP,
therefore saying that it is a fundamental priciple of OOP is entirely
misleading. AFAIAC it is a fundamental requirement of EVERY language, OO and
non-OO, to be able to call one module from another. This is a standard
requirement, there is nothing special aout it at all.


You just don't seem to understand the difference between *HAVING THE ABILITY*
and *REQUIRING* something.
a Dog could have a query Age to say how old it is, and command chase
(Rabbit target) to start it chasing a rabbit. A method may also do both,
but some authorities (e.g. Bertrand Meyer) recommend they be kept
separate. Sometimes access to the data of an object is restricted to the
methods of its class."

It is important because that's how you communicate with objects. It's the
interface, which is public, instead of the implementation, which is
private.

Calling a function and passing parameters to it, and getting parameters
back, is not something which is unique to OO. It is a standard feature of
EVERY language, therefore to say that it is a fundamental principle of OOP
carries no more weight than saying the ability to declare variables is a
fundamental principle of OOP. It is oneof those obvious things which should
not have to be stated.


Sure it's a fundamental principal. Because OO *REQUIRES IT*.
But if you understood OO as well as you claim you would understand that.

The difference between an OO and a non-OO language is that one has
encapsulation, inheritance and polymorphism while the other does not. Both
have messaging (the ability to call functions) so that is a complete red
herring.


And OO *REQUIRES* message passing. Non-OO languages do not.

You really ARE dense, aren't you?

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jun 27 '06 #66

"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:HN******** *************** *******@comcast .com...
Tony Marston wrote:


There is nothing special with messaging. It's a piece of code calling a
function, which has existed in many non-OO languages for decades. There
is no difference between calling a function and calling a method
(function) within an object.

OOP is about encapsulation, inheritance and polymorhism, and the ability
to create objects from classes. It is taken for granted that there is a
method of communicating with each of the objets ou create. There is
nothing special about "messaging" at all.

Well, the fact is, messages (function calls) are OPTIONAL in other
languages. You can build a C program without any functions (other than
main()). You can build an assembler program with no subroutines.


While it is true that you can write a program which doesn't call any
subroutines or functions, it is still part of the language as standard.
But OO *REQUIRES* messages.


So what? Messaging is the same as calling a function or subroutine, and this
is a standard feature of EVERY computer language. There is nothing in OOP
that makes it unique.
However, wikipedia (which I also mentioned because it might meet your
level of intelligence), says under "Fundamenta l Concepts":

"Method (also known as message) — how code can use an object of some
class. A method is a form of subroutine operating on a single object

Other languages have had the ability to create subroutines, and to be
able to call those subrutines, for ages. There is nothing special about
that which only eists in OOP.


Sure, they *HAVE THE ABILITY*. In OO, you *MUST CREATE THEM*.
. Methods may be divided into queries returning the current state and
commands changing it:

Other langages have had the ability for a module to have several entry
points, and for each entry point to do something different, for decades.
There is nothing special about his technique which is unique to OOP,
therefore saying that it is a fundamental priciple of OOP is entirely
misleading. AFAIAC it is a fundamental requirement of EVERY language, OO
and non-OO, to be able to call one module from another. This is a
standard requirement, there is nothing special aout it at all.


You just don't seem to understand the difference between *HAVING THE
ABILITY* and *REQUIRING* something.


Your point is that messaging is a fundamental principle of OOP which sets it
apart from non-OOP languages. My point is that tyhe same feature exists in
ALL computer languages. If the only real difference is that in OOP it is
*REQUIRED* whereas in other languages it is *OPTIONAL* I think you are
making a mountain out of a molehill. The things which are supposed to make a
language OO instead of non-OO are only supposed to exist in OO languages, so
if messaging already exists in non-OO languages then it cannoit be a
fundamental principle of OO.
a Dog could have a query Age to say how old it is, and command chase
(Rabbit target) to start it chasing a rabbit. A method may also do both,
but some authorities (e.g. Bertrand Meyer) recommend they be kept
separate. Sometimes access to the data of an object is restricted to the
methods of its class."

It is important because that's how you communicate with objects. It's
the interface, which is public, instead of the implementation, which is
private.

Calling a function and passing parameters to it, and getting parameters
back, is not something which is unique to OO. It is a standard feature of
EVERY language, therefore to say that it is a fundamental principle of
OOP carries no more weight than saying the ability to declare variables
is a fundamental principle of OOP. It is oneof those obvious things which
should not have to be stated.


Sure it's a fundamental principal. Because OO *REQUIRES IT*.


That does not make it a fundamental principle in my book. If non-OO
languages did not have messaging then that would be a different matter, but
they do, so it isn't.
But if you understood OO as well as you claim you would understand that.

The difference between an OO and a non-OO language is that one has
encapsulation, inheritance and polymorphism while the other does not.
Both have messaging (the ability to call functions) so that is a complete
red herring.


And OO *REQUIRES* message passing. Non-OO languages do not.

You really ARE dense, aren't you?


Not as dense as you. The principles of OO are features that do not exist in
other languages. Having something which is required instead of optional DOES
NOT MAKE IT A FEATURE. Non-OO languages have had messaging for decades, so
messaging is not a fundamental feature of OO.

Encapsulation, inheritance and polymorphism do not exist in non-OO
languages, so THEY are fundamental principles. Messaging is not. The fact
that OO requires messaging while others do not is totally insignificant.

--
Tony Marston

http://www.tonymarston.net
http://www.radicore.org

Jun 27 '06 #67
Tony Marston wrote:
"Jerry Stuckle" <js*******@attg lobal.net> wrote in message
news:HN******** *************** *******@comcast .com...


And OO *REQUIRES* message passing. Non-OO languages do not.

You really ARE dense, aren't you?

Not as dense as you. The principles of OO are features that do not exist in
other languages. Having something which is required instead of optional DOES
NOT MAKE IT A FEATURE. Non-OO languages have had messaging for decades, so
messaging is not a fundamental feature of OO.

Encapsulation, inheritance and polymorphism do not exist in non-OO
languages, so THEY are fundamental principles. Messaging is not. The fact
that OO requires messaging while others do not is totally insignificant.


Not at all. Quite frankly, I really don't care what YOU think. What I'm
worried about are the asinine opinions you foster off onto unsuspecting beginners.

I agree you are an expert - ex meaning "has been" and spert being a "drip under
pressure". Describes you exactly.

Once you get some REAL WORLD experience under your belt - and I'm not talking a
few web pages - I'm talking about projects with dozens of programmers and
hundreds of K LOC, we can talk again. Until then I'll just consider you to be
the uneducated idiot you are.

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jun 28 '06 #68
"Tony Marston" <to**@NOSPAM.de mon.co.uk> and
"Jerry Stuckle" <js*******@attg lobal.net> argued a bunch
about objects, their encapsulated data, and how events
change the nature of the object...

I'm curious as to what the simplest object oriented program
in PHP would be. Either one of you that might be able to
suggest something or provide a demonstration?

Thanks.

--
Jim Carlock
Post replies to the group.
Jun 28 '06 #69
Jim Carlock wrote:
"Tony Marston" <to**@NOSPAM.de mon.co.uk> and
"Jerry Stuckle" <js*******@attg lobal.net> argued a bunch
about objects, their encapsulated data, and how events
change the nature of the object...

I'm curious as to what the simplest object oriented program
in PHP would be. Either one of you that might be able to
suggest something or provide a demonstration?

Thanks.


Let's see.. It would be one object with a single attribute and one method. The
program would just need to create an object of

Here's one with a a couple of functions to do something useful. It formats the
current date according to "US" or "European" standards and remembers the format.
Note it can be easily expanded to include other date functions and formats.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Simple date display</title>
<?php
class Date {
private $format = 'm/d/Y';

function setFormat($form at) {
switch($format) {
case 'US':
$this->format = 'm/d/Y';
return true;
case 'European':
$this->format = 'd.m.Y';
return true;
}
return false;
}
function today() {
return date($this->format);
}
}
?>
</head>
<body>
<?php

$date = new Date();
echo 'Date in U.S. format: ' . $date->today() . "<br>\n";
$date->setFormat('Eur opean');
echo 'Date in European format: ' . $date->today() . "<br>\n";
?>
</body>
</html>

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jun 28 '06 #70

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1665
by: Benjamin C. Pierce | last post by:
The Twelth International Workshop on Foundations of Object-Oriented Languges (FOOL 12) Saturday 15 January 2005 Long Beach, California, USA Following POPL 05 The search for sound principles for object-oriented languages has given rise to much work on the theory of programming languages during the past two decades, leading to a better understanding of the key
5
2930
by: Martin | last post by:
When was inheritance intruduced into object oriented programming? More generally, does anyone know or have any sources on when the different features were introduced into object oriented programming?
34
7122
by: yensao | last post by:
Hi, I have a hard time to understand difference and similarities between Relational database model and the Object-Oriented model. Can somebody help me with this? Thank you in advance. Yensao
65
4304
by: Roger Smythe | last post by:
A means for the progressive decomposition a problem space into increasingly simpler component parts such that these component parts represent higher levels of conceptual abstraction, and are completely independent of each other except for their well-defined interfaces. This was an attempt to explain the gist of OOP to programmers accustomed to the structured programming paradigm. I tried to explain OOP in terms of ideals that can be...
14
2942
by: Rookie | last post by:
Is C an object oriented programming language?
100
5321
by: E. Robert Tisdale | last post by:
What is an object? Where did this term come from? Does it have any relation to the objects in "object oriented programming"?
8
1805
by: cppig1995 | last post by:
C++ is not only object-oriented language. I think the description of this group have to be changed. :-) Have fun! ---- cppig1995 (cppig1995@gmail.com) Daejeon Metropolitan City, Republic of Korea 11 years old in Western age.
47
5973
by: Thierry Chappuis | last post by:
Hi, I'm interested in techniques used to program in an object-oriented way using the C ANSI language. I'm studying the GObject library and Laurent Deniau's OOPC framework published on his web site at http://ldeniau.web.cern.ch/ldeniau/html/oopc/oopc.html. The approach is very instructive. I know that I could do much of this stuff with e.g. C++, but the intellectual challenge of implementing these concepts with pure ANSI C is relevant to...
46
3042
by: ajba74 | last post by:
Hi fellows, I am reading some books to learn the C programming language, and sometimes I have the feeling that when somebody becomes a C expert, he must learn a more modern and object-oriented language. When I read things like "... C++ is an evolution of C ..." or "... C is a subset of C++ ..." I tend to believe that I will have to learn C+ + sooner or later. It sounds like C++ is the future and C is the past (and will be no longer...
3
1551
by: notnorwegian | last post by:
i have some confusion over this. sure a class is basically a classification, like for example an animal or flower. and an object/instance of that class is then for example a cat. an object is an instance of a class. that i know, i also know how to program with classes etc. i am just confused about the term object-oriented.
0
9811
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9657
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10532
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10577
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
1
7774
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5812
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4443
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
4003
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3103
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.