Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread brad lafountain
--- Zeev Suraski [EMAIL PROTECTED] wrote: At 01:51 09/04/2002, brad lafountain wrote: But do you see my point that having ONLY aggregate means that in 90% of the case where people will use it its probally a bad idea. They are only using it becuase of the lack of MI. How does aggregation

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Kristian Koehntopp
On Tue, Apr 09, 2002 at 12:11:11AM +0300, Zeev Suraski wrote: Having both makes very little sense. Compile-time vs. run-time in PHP doesn't make any real difference as far as functionality goes, because the stages are linked together immediately. Not the point here. In class D extends A,

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Kristian Koehntopp
On Mon, Apr 08, 2002 at 02:44:14PM -0700, brad lafountain wrote: for($i = 0;$i 1;$i++) { $d = new a; aggregate($d, b); aggregate($d, c); $d-method(); } That is $d = new A; aggregate($d, array(B, C)); for ($i=0; $i1; $i++) { $d = copy $a; $d-method(); } in PHP, with

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Zeev Suraski
I'm not saying you can't find a use for it, I'm sure you can. I'm saying that aggregation the way you use it is something that at least I have never seen used anywhere else before. I've never seen an object oriented program that is written without knowing anything about the classes it's

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Wez Furlong
COM! COM uses all of this kind of stuff (implemented in various ways through inheritance, aggregation via template classes, proxies and delegates). And why go to all this trouble? So that your code can work with code written by third parties that have no knowledge of your code, nor yours of

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Zeev Suraski
COM's a hack, though. It really is. COM's entire design was derived from the need for binary compatibility between components, which plays absolutely no role in PHP. They had to go through hoops in and some real ugly hacks to achieve their goal (which they have, quite successfully, I have to

RE: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Pierre-Alain Joye
I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. Can you explain how you envision interfaces as useful constructs in PHP, and their advantages over MI, considering the fact all of the binary

RE: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Marcus Börger
At 12:12 09.04.2002, Pierre-Alain Joye wrote: I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. Can you explain how you envision interfaces as useful constructs in PHP, and their advantages over MI,

RE: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Pierre-Alain Joye
Would it be so bad allowing closed source? I really do not care, but I really appreciate and use only ( for my dev ) open sources products, but that is not the question, and was a joke == ;) :)) I think having one of MI, aggregation and interfaces is essential for OO modelling. I m not a

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Wez Furlong
On 09/04/02, Zeev Suraski [EMAIL PROTECTED] wrote: COM's a hack, though. It really is. What they did in ATL basically does a fair amount of magic to give you the ability to inherit code with COM's strict binary compatible model... COM implemented in C/C++ is, as you say, a hack. When the

RE: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Wez Furlong
On 09/04/02, Pierre-Alain Joye [EMAIL PROTECTED] wrote: I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. Can you explain how you envision interfaces as useful constructs in PHP, and their advantages

RE: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Lukas Smith
PROTECTED] ___ -Original Message- From: Wez Furlong [mailto:[EMAIL PROTECTED]] Sent: Tuesday, April 09, 2002 1:10 PM To: Pierre-Alain Joye Cc: Wez Furlong; Zeev Suraski; [EMAIL PROTECTED]; Kristian Koehntopp; Stig S. Bakken Subject: RE: [PHP-DEV] Re: aggergate

RE: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Marcus Börger
At 12:32 09.04.2002, Pierre-Alain Joye wrote: Would it be so bad allowing closed source? I really do not care, but I really appreciate and use only ( for my dev ) open sources products, but that is not the question, and was a joke == ;) :)) I think having one of MI, aggregation and

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Lauri Liinat
hi all, I'm personally in favour of having MI in PHP, with the serious alternative being interfaces. I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. 1) the whole concept of interfaces as they are

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Marcus Börger
At 15:26 09.04.2002, Lauri Liinat wrote: hi all, I'm personally in favour of having MI in PHP, with the serious alternative being interfaces. I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. 1) the

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread brad lafountain
--- Lauri Liinat [EMAIL PROTECTED] wrote: hi all, I'm personally in favour of having MI in PHP, with the serious alternative being interfaces. I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI.

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Stig S. Bakken
On Tue, 2002-04-09 at 16:47, brad lafountain wrote: --- Lauri Liinat [EMAIL PROTECTED] wrote: hi all, I'm personally in favour of having MI in PHP, with the serious alternative being interfaces. I have failed to understand what interfaces would mean in a language such as

RE: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Zeev Suraski
At 13:12 09/04/2002, Pierre-Alain Joye wrote: I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. Can you explain how you envision interfaces as useful constructs in PHP, and their advantages over MI,

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Zeev Suraski
At 14:03 09/04/2002, Wez Furlong wrote: On 09/04/02, Zeev Suraski [EMAIL PROTECTED] wrote: COM's a hack, though. It really is. What they did in ATL basically does a fair amount of magic to give you the ability to inherit code with COM's strict binary compatible model... COM implemented

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Zeev Suraski
You described my thoughts *perfectly* - thanks :) Zeev At 16:26 09/04/2002, Lauri Liinat wrote: hi all, I'm personally in favour of having MI in PHP, with the serious alternative being interfaces. I have failed to understand what interfaces would mean in a language such as PHP, though,

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread fab wash
be a burden, and we want people to use php. Tough decisions :) Fab. From: Zeev Suraski [EMAIL PROTECTED] To: Lauri Liinat [EMAIL PROTECTED] CC: [EMAIL PROTECTED] Subject: Re: [PHP-DEV] Re: aggergate vs MI Date: Tue, 09 Apr 2002 19:25:18 +0300 You described my thoughts *perfectly* - thanks :) Zeev

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Shane Caraveo
I'm personally in favour of having MI in PHP, with the serious alternative being interfaces. I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. Can you explain how you envision interfaces as useful

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-09 Thread Marcus Börger
At 20:30 09.04.2002, you wrote: I'm personally in favour of having MI in PHP, with the serious alternative being interfaces. I have failed to understand what interfaces would mean in a language such as PHP, though, while I can see the clear hands-on use for MI. Can you explain how you

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Stig S. Bakken
On Mon, 2002-04-08 at 02:50, brad lafountain wrote: --- Stig S. Bakken [EMAIL PROTECTED] wrote: On Sun, 2002-04-07 at 20:35, brad lafountain wrote: What would be wrong with having the *_SQL_* objects be a member of the *_Connection* classes? What you're describing here is

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Kristian Köhntopp
brad lafountain wrote: Unless someone could give me a real reason that aggerate is better than MI. Aggregation does at runtime what MI does at compile time. Delaying the decision to do something is usually an enable for specific applications. Examples are the signal/slot mechanism based

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Kristian Köhntopp
Stig S. Bakken wrote: Example set of classes using aggregate to customize at runtime: DB_Connection generic connection object DB_Connection_odbc layer interfacing to PHP's odbc functions DB_Connection_oracle ditto for Oracle DB_Connection_mysqlditto for MySQL

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Yasuo Ohgaki
Kristian Köhntopp wrote: brad lafountain wrote: Unless someone could give me a real reason that aggerate is better than MI. Aggregation does at runtime what MI does at compile time. Delaying the decision to do something is usually an enable for specific applications. I agree. It

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Kristian Köhntopp [EMAIL PROTECTED] wrote: brad lafountain wrote: Unless someone could give me a real reason that aggerate is better than MI. Aggregation does at runtime what MI does at compile time. Delaying the decision to do something is usually an enable for specific

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Stig S. Bakken [EMAIL PROTECTED] wrote: On Mon, 2002-04-08 at 02:50, brad lafountain wrote: --- Stig S. Bakken [EMAIL PROTECTED] wrote: On Sun, 2002-04-07 at 20:35, brad lafountain wrote: What would be wrong with having the *_SQL_* objects be a member of the

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Kristian Koehntopp
On Mon, Apr 08, 2002 at 08:59:39AM -0700, brad lafountain wrote: class A; class B; class C; $c = new C; aggergate($c, A); aggergate($c, B); Just because they can. Yes of course, but how is this better than class D extends A, B, C; $d = new D; for the same reasons (i.e. because you

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Kristian Koehntopp [EMAIL PROTECTED] wrote: On Mon, Apr 08, 2002 at 08:59:39AM -0700, brad lafountain wrote: class A; class B; class C; $c = new C; aggergate($c, A); aggergate($c, B); Just because they can. Yes of course, but how is this better than class D extends

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Zeev Suraski
Having both makes very little sense. Compile-time vs. run-time in PHP doesn't make any real difference as far as functionality goes, because the stages are linked together immediately. I don't think MI will make it into PHP, now that aggregation was introduced... At 18:59 08/04/2002, brad

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Zeev Suraski [EMAIL PROTECTED] wrote: Having both makes very little sense. Compile-time vs. run-time in PHP doesn't make any real difference as far as functionality goes, because the stages are linked together immediately. I don't think MI will make it into PHP, now that aggregation

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Zeev Suraski
At 00:44 09/04/2002, brad lafountain wrote: If aggregation is included then i see it is absoulty necessary to include MI too. In my opinion, only one of them (at most) has room in PHP. Having both is messy. My personal preference is MI, which is why I prefer tagging aggregation as

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Zeev Suraski [EMAIL PROTECTED] wrote: At 00:44 09/04/2002, brad lafountain wrote: If aggregation is included then i see it is absoulty necessary to include MI too. In my opinion, only one of them (at most) has room in PHP. Having both is messy. My personal preference is MI, which

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Steve Meyers
If MI can be emulated using aggregation, how hard would it be to add the syntax for MI to the language, but have it implement it using aggregation? Zeev Suraski wrote: At 00:44 09/04/2002, brad lafountain wrote: If aggregation is included then i see it is absoulty necessary to include MI too.

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Steve Meyers [EMAIL PROTECTED] wrote: If MI can be emulated using aggregation, how hard would it be to add the syntax for MI to the language, but have it implement it using aggregation? That would be the biggest hack. MI isn't that hard to implement. It probally would take a good

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Zeev Suraski
At 00:55 09/04/2002, brad lafountain wrote: Well i would have totally agreed with you yesterday.. but i have convinced myself that there is use for aggregation. Me personally i would never use it. But i can see somepeople using it. It doesn't mean it's a good idea to add it. I used both, and

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Marcus Börger
Mybe it would make sence to have MI for compile time and aggregation for run time. So we can have good design with MI and prototyping and testing and quick hacks with aggregeation. But doing compile times work with run time methods? marcus At 23:58 08.04.2002, you wrote: If MI can be emulated

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Stig S. Bakken
But a class is not defined at runtime, it's only compiled into bytecode that, when executed, declares the class. That's what Zeev means when he says that the difference between compile-time and runtime is not that big. IMHO there is room for both aggregate and MI. We have require and include,

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Zeev Suraski [EMAIL PROTECTED] wrote: At 00:55 09/04/2002, brad lafountain wrote: Well i would have totally agreed with you yesterday.. but i have convinced myself that there is use for aggregation. Me personally i would never use it. But i can see somepeople using it. It doesn't

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread brad lafountain
--- Stig S. Bakken [EMAIL PROTECTED] wrote: But a class is not defined at runtime, it's only compiled into bytecode that, when executed, declares the class. That's what Zeev means when he says that the difference between compile-time and runtime is not that big. IMHO there is room for

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Marcus Börger
At 00:40 09.04.2002, Stig S. Bakken wrote: But a class is not defined at runtime, it's only compiled into bytecode that, when executed, declares the class. That's what Zeev means when he says that the difference between compile-time and runtime is not that big. What i meant with runtime was

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Marcus Börger
At 00:53 09.04.2002, you wrote: --- Stig S. Bakken [EMAIL PROTECTED] wrote: But a class is not defined at runtime, it's only compiled into bytecode that, when executed, declares the class. That's what Zeev means when he says that the difference between compile-time and runtime is not that

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Yasuo Ohgaki
Brad Lafountain wrote: *SNIP* But do you see my point that having ONLY aggregate means that in 90% of the case where people will use it its probally a bad idea. They are only using it becuase of the lack of MI. How does aggregation solve overwriting methods. class a { function blah() {

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-08 Thread Zeev Suraski
At 01:51 09/04/2002, brad lafountain wrote: But do you see my point that having ONLY aggregate means that in 90% of the case where people will use it its probally a bad idea. They are only using it becuase of the lack of MI. How does aggregation solve overwriting methods. Yes, I see the point...

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-07 Thread Stig S. Bakken
On Sat, 2002-04-06 at 23:40, brad lafountain wrote: --- Stig S. Bakken [EMAIL PROTECTED] wrote: MI is compile-time, aggregate is runtime. That's a big enough reason for me. I know the difference but how does this benifit you? Class definition is defined at design time not run

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-07 Thread brad lafountain
--- Stig S. Bakken [EMAIL PROTECTED] wrote: On Sat, 2002-04-06 at 23:40, brad lafountain wrote: --- Stig S. Bakken [EMAIL PROTECTED] wrote: MI is compile-time, aggregate is runtime. That's a big enough reason for me. I know the difference but how does this benifit you?

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-07 Thread Stig S. Bakken
On Sun, 2002-04-07 at 20:35, brad lafountain wrote: What would be wrong with having the *_SQL_* objects be a member of the *_Connection* classes? What you're describing here is object aggregation. - Stig -- PHP Development Mailing List http://www.php.net/ To unsubscribe, visit:

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-07 Thread brad lafountain
--- Stig S. Bakken [EMAIL PROTECTED] wrote: On Sun, 2002-04-07 at 20:35, brad lafountain wrote: What would be wrong with having the *_SQL_* objects be a member of the *_Connection* classes? What you're describing here is object aggregation. What do you mean... Im saying that the SQL

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-06 Thread brad lafountain
--- Yasuo Ohgaki [EMAIL PROTECTED] wrote: Brad Lafountain wrote: I keep on hearing that we are totally against MI but we want the aggergate function. Can someone PLEASE explain the reasoning behind such a decision? I can't think of one example when aggergate would be better

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-06 Thread Stig S. Bakken
On Sat, 2002-04-06 at 11:21, brad lafountain wrote: --- Yasuo Ohgaki [EMAIL PROTECTED] wrote: Brad Lafountain wrote: I keep on hearing that we are totally against MI but we want the aggergate function. Can someone PLEASE explain the reasoning behind such a decision? I

Re: [PHP-DEV] Re: aggergate vs MI

2002-04-06 Thread brad lafountain
--- Stig S. Bakken [EMAIL PROTECTED] wrote: On Sat, 2002-04-06 at 11:21, brad lafountain wrote: --- Yasuo Ohgaki [EMAIL PROTECTED] wrote: Brad Lafountain wrote: I keep on hearing that we are totally against MI but we want the aggergate function. Can someone PLEASE