Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Zeev Suraski

At 11:21 18/5/2001, Jani Taskinen wrote:
As long as these extensions are in there, I think changing any of their
API's is a justification for 4.x release.

This is simply not the way we decided to work in.  Can it be 
changed?  Sure.  Should it be changed?  In my humble opinion, no, it shouldn't.
The thing I'm trying to state, not very successfully I guess, is that 
whether it's 4.0.7 or 4.666.3, we should be avoiding API changes as much as 
at all possible.  Sure, sometimes there's just no alternative than to break 
downwards compatibility, but we should not get into the state of mind that 
breaking downwards compatibility is ok, as long as you increment some digit 
in the version number.

Zeev


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Jani Taskinen

On Fri, 18 May 2001, Zeev Suraski wrote:

At 11:21 18/5/2001, Jani Taskinen wrote:
As long as these extensions are in there, I think changing any of their
API's is a justification for 4.x release.

This is simply not the way we decided to work in.  Can it be
changed?  Sure.  Should it be changed?  In my humble opinion, no, it shouldn't.
The thing I'm trying to state, not very successfully I guess, is that
whether it's 4.0.7 or 4.666.3, we should be avoiding API changes as much as
at all possible.  Sure, sometimes there's just no alternative than to break
downwards compatibility, but we should not get into the state of mind that
breaking downwards compatibility is ok, as long as you increment some digit
in the version number.

You must understand that I don't like changing the API either. But
sometimes it just HAS to be changed. And one thing that should
happen when such changes are made, is to change the version number.
Why is it so sacred to you?

I didn't suggest either that if the version number is changed it's okay to
break BC..

There are now _two_ extensions that break BC. (sockets/domxml)
So is it okay to break BC in extensions? And like that one user said,
if we had pumped up the minor number he would have expected to see some
major changes. But as long as you continue this 'this is how we have
always done things' way, people WILL get pissed. Not only me.

--Jani



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Zeev Suraski

At 12:05 18/5/2001, Jani Taskinen wrote:
You must understand that I don't like changing the API either. But
sometimes it just HAS to be changed. And one thing that should
happen when such changes are made, is to change the version number.
Why is it so sacred to you?

Each and his own religion :)
More seriously, yes, I realize that sometimes the API *HAS* to be 
changed.  Those cases are relatively rare, and should remain as such.  In 
cases where the main reason for 'HAVING to change' the API is code bloat 
(e.g. the mysql_db_query() function), I'd argue that keeping it makes much 
more sense, with or without version changes.

I didn't suggest either that if the version number is changed it's okay to
break BC..

There are now _two_ extensions that break BC. (sockets/domxml)
So is it okay to break BC in extensions? And like that one user said,
if we had pumped up the minor number he would have expected to see some
major changes. But as long as you continue this 'this is how we have
always done things' way, people WILL get pissed. Not only me.

Could be.  To be honest, I'm not sure what the best solution would be 
here.  Coming out with an API that later changes is simply a bad thing, but 
it's all too common in PHP.  IMO the problem is with the initial design, 
i.e., we should perhaps invest more time in designing the API to begin 
with, instead of just coming out with something, and later improving on it 
(sometimes by changing it completely).

I don't mind using the middle version number to signify major changes in 
the API.  Judging by other projects, though, people would probably expect 
substantial functionality improvement from such version changes, while in 
practice, they'd be the same.

Zeev


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Rasmus Lerdorf

 On Thu, 17 May 2001, Rasmus Lerdorf wrote:

  I don't agree. Have you noticed the thread about domxml currently running
  in php-dev@? Wouldn't that justify a 4.1? What would?
 
 No, I don't think a single extension should affect the PHP version number
 to that extent.  But I do think we should be moving towards versioning the
 extensions individually.

 Could you explain how having separate version numbers for extensions would
 help at all? As long as the extensions are distributed with the main PHP
 package, that is.

There will be more and more extensions that are not bundled with PHP, and
having a standard way to check the version of an extension is going to be
required.  This should also apply to the bundled extensions.

You also have to consider that people build bundled extensions as shared
extensions.  For example, once upon a time I built the ftp extension as
shared and I have not updated my ftp.so for quite a while even though I
have updated my libphp4.so many times.  So I am effectively using an old
bundled extension with a new version of PHP.  Right now there is no real
way to detect this, and if my code used the PHP version number and
determined that the API for the ftp extension is different now and tried
to call the ftp functions differently then my app would break as my
particular ftp extension definitely has not changed.

 As long as these extensions are in there, I think changing any of their
 API's is a justification for 4.x release.

I disagree.  Since optional extensions are not a core part of the language
and can be built and maintained separately, changes to them should not be
the main cause for bumping the major version number of PHP.  Major Changes
to the core of PHP or to any non-optional components should however.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Jani Taskinen

On Fri, 18 May 2001, Rasmus Lerdorf wrote:

 As long as these extensions are in there, I think changing any of their
 API's is a justification for 4.x release.

I disagree.  Since optional extensions are not a core part of the language
and can be built and maintained separately, changes to them should not be
the main cause for bumping the major version number of PHP.  Major Changes
to the core of PHP or to any non-optional components should however.

Do you really think that average PHP user makes any difference between
extensions and the core? I don't think so. As long as they come in same
package..it's the same for them.

--Jani



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Rasmus Lerdorf

On Fri, 18 May 2001, Jani Taskinen wrote:

 On Fri, 18 May 2001, Rasmus Lerdorf wrote:

  As long as these extensions are in there, I think changing any of their
  API's is a justification for 4.x release.
 
 I disagree.  Since optional extensions are not a core part of the language
 and can be built and maintained separately, changes to them should not be
 the main cause for bumping the major version number of PHP.  Major Changes
 to the core of PHP or to any non-optional components should however.

 Do you really think that average PHP user makes any difference between
 extensions and the core? I don't think so. As long as they come in same
 package..it's the same for them.

That still doesn't change the fact that it is imprecise to tie the PHP
version number to extensions when there is no 1:1 relationship here and
the possibility exists that an older version of the extension can be used
with a newer version of PHP.

And more and more, the average PHP user does not build PHP themselves but
use it on a server where PHP was built by an admin.  On these servers it
is getting more common for the admin to enable extensions as shared
extensions from user requests which increases the likelihood of old
versions of extensions sticking around and not being in synch with the PHP
installation.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Jani Taskinen

On Fri, 18 May 2001, Rasmus Lerdorf wrote:

That still doesn't change the fact that it is imprecise to tie the PHP
version number to extensions when there is no 1:1 relationship here and
the possibility exists that an older version of the extension can be used
with a newer version of PHP.
And more and more, the average PHP user does not build PHP themselves but
use it on a server where PHP was built by an admin.  On these servers it
is getting more common for the admin to enable extensions as shared
extensions from user requests which increases the likelihood of old
versions of extensions sticking around and not being in synch with the PHP
installation.

Hmm..I'm not really sure how it's possible to use older API version
extensions with newer PHP as the Zend boys pump up their API version
number on every release..and afaik that prevents you from using the
old extensions..?

--Jani



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Andrei Zmievski

On Fri, 18 May 2001, Jani Taskinen wrote:
 Hmm..I'm not really sure how it's possible to use older API version
 extensions with newer PHP as the Zend boys pump up their API version
 number on every release..and afaik that prevents you from using the
 old extensions..?

They hardly bump Zend API version with every point release.

-Andrei

Music expresses that which can not be said
 and on which it is impossible to be silent.
 -Victor Hugo

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Rasmus Lerdorf

 That still doesn't change the fact that it is imprecise to tie the PHP
 version number to extensions when there is no 1:1 relationship here and
 the possibility exists that an older version of the extension can be used
 with a newer version of PHP.
 And more and more, the average PHP user does not build PHP themselves but
 use it on a server where PHP was built by an admin.  On these servers it
 is getting more common for the admin to enable extensions as shared
 extensions from user requests which increases the likelihood of old
 versions of extensions sticking around and not being in synch with the PHP
 installation.

 Hmm..I'm not really sure how it's possible to use older API version
 extensions with newer PHP as the Zend boys pump up their API version
 number on every release..and afaik that prevents you from using the
 old extensions..?

ZEND_MODULE_API_NO last changed in December of last year.

If you look through CVS you will find that there have been many releases
without a change in ZEND_MODULE_API_NO.  Right now an extension built 5
months ago still loads perfectly into a current snapshot.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Jani Taskinen

On Fri, 18 May 2001, Rasmus Lerdorf wrote:

 That still doesn't change the fact that it is imprecise to tie the PHP
 version number to extensions when there is no 1:1 relationship here and
 the possibility exists that an older version of the extension can be used
 with a newer version of PHP.
 And more and more, the average PHP user does not build PHP themselves but
 use it on a server where PHP was built by an admin.  On these servers it
 is getting more common for the admin to enable extensions as shared
 extensions from user requests which increases the likelihood of old
 versions of extensions sticking around and not being in synch with the PHP
 installation.

 Hmm..I'm not really sure how it's possible to use older API version
 extensions with newer PHP as the Zend boys pump up their API version
 number on every release..and afaik that prevents you from using the
 old extensions..?

ZEND_MODULE_API_NO last changed in December of last year.

If you look through CVS you will find that there have been many releases
without a change in ZEND_MODULE_API_NO.  Right now an extension built 5
months ago still loads perfectly into a current snapshot.

Ah. I must have been dreaming then.. :)
I remember that someone submitted some bug report about this very issue.

Anyway, now I see that there really is good reason having that
version (PHP_#ext#_API_NO ?) after all. And having that..we should
propable start moving those extensions one by one into PEAR?

Maybe we could then roll out two packages, one for core and one for
the extensions?

And btw. Why not have a function in PHP core that can be used to get the
desired extensions remotely from pear.php.net? If we have a
PHP_#ext#_API_NO, running a 'update_php_extensions()' would
go and grab the updated (if the extension HAS been updated) one..etc..
(I'm just thinking out loud..ignore me :)

--Jani



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Hartmut Holzgraefe

Rasmus Lerdorf wrote:
 [...] which increases the likelihood of old  versions of extensions 
 sticking around and not being in synch with the PHP installation.

not to likely nowadays due to the API number changes that made 
binary extensions not being loaded by other php versions then
the ones they were compiled for (with the only exception of php 4.0.2
and 4.0.3 which had no api changes between releases)

but as the api was said to be most likely stable now this will be an
upcomming problem again in the (near?) future

-- 
Hartmut Holzgraefe  [EMAIL PROTECTED]  http://www.six.de  +49-711-99091-77

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Hartmut Holzgraefe

Andrei Zmievski wrote:
 They hardly bump Zend API version with every point release.

not with every release, somehow they missed 4.0.3 on this ;)

-- 
Hartmut Holzgraefe  [EMAIL PROTECTED]  http://www.six.de  +49-711-99091-77

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Rasmus Lerdorf

 Ah. I must have been dreaming then.. :)
 I remember that someone submitted some bug report about this very issue.

 Anyway, now I see that there really is good reason having that
 version (PHP_#ext#_API_NO ?) after all. And having that..we should
 propable start moving those extensions one by one into PEAR?

That has been the plan for a while now.  Not necessarily moving all the
optional extensions, but some of them.  And new fringe extensions would go
straight to PEAR.

 And btw. Why not have a function in PHP core that can be used to get the
 desired extensions remotely from pear.php.net? If we have a
 PHP_#ext#_API_NO, running a 'update_php_extensions()' would
 go and grab the updated (if the extension HAS been updated) one..etc..
 (I'm just thinking out loud..ignore me :)

There is the start of a set of command line tools for doing this.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread rasmus

 Andrei Zmievski wrote:
  They hardly bump Zend API version with every point release.

 not with every release, somehow they missed 4.0.3 on this ;)

No bump in 4.0.6 either, and it doesn't look like there will be one for
4.0.7 either.  About 5 months since the last bump.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Hartmut Holzgraefe

Jani Taskinen wrote:
 Anyway, now I see that there really is good reason having that
 version (PHP_#ext#_API_NO ?) after all. And having that..we should
 propable start moving those extensions one by one into PEAR?

do we have the infrastructure in PEAR for C code yet ?

 Maybe we could then roll out two packages, one for core and one for
 the extensions?

this wouldn't really solve the problem as you still have different
versions of packages at least in the extension part while it adds
more complexity leading to users trying to get core version x together
with extensions version y where x and y do not fit
 
 And btw. Why not have a function in PHP core that can be used to get the
 desired extensions remotely from pear.php.net? If we have a
 PHP_#ext#_API_NO, running a 'update_php_extensions()' would
 go and grab the updated (if the extension HAS been updated) one..etc..

nice idea, but once again: we are talking about C-code and shared
libraries here, how do you get a system to compile things automaticly
from within a webserver process (which usually does not have the access
rights needed to update things in the filesystem) and how do you
force php to exchange .so versions on the fly, especially in a multi-
threaded server, while keeping php and the server running ?

-- 
Hartmut Holzgraefe  [EMAIL PROTECTED]  http://www.six.de  +49-711-99091-77

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Rasmus Lerdorf

 Jani Taskinen wrote:
  Anyway, now I see that there really is good reason having that
  version (PHP_#ext#_API_NO ?) after all. And having that..we should
  propable start moving those extensions one by one into PEAR?

 do we have the infrastructure in PEAR for C code yet ?

Not yet, so this isn't something that is going to happen tomorrow.

And we also have to be very careful about how it is done.  One of the big
strengths of PHP is that you don't generally have to run around looking
for the right versions of extensions to match a certain version of PHP.
It just works.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Jani Taskinen

On Fri, 18 May 2001, Rasmus Lerdorf wrote:

 Ah. I must have been dreaming then.. :)
 I remember that someone submitted some bug report about this very issue.

 Anyway, now I see that there really is good reason having that
 version (PHP_#ext#_API_NO ?) after all. And having that..we should
 propable start moving those extensions one by one into PEAR?

That has been the plan for a while now.  Not necessarily moving all the
optional extensions, but some of them.  And new fringe extensions would go
straight to PEAR.

Too bad it seems not to be going anywhere..

 And btw. Why not have a function in PHP core that can be used to get the
 desired extensions remotely from pear.php.net? If we have a
 PHP_#ext#_API_NO, running a 'update_php_extensions()' would
 go and grab the updated (if the extension HAS been updated) one..etc..
 (I'm just thinking out loud..ignore me :)

There is the start of a set of command line tools for doing this.

I don't think having those separately is a good idea.
More like a function set in PHP would make more sense.
As you have to have the core PHP anyway?

--Jani



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Rasmus Lerdorf

  And btw. Why not have a function in PHP core that can be used to get the
  desired extensions remotely from pear.php.net? If we have a
  PHP_#ext#_API_NO, running a 'update_php_extensions()' would
  go and grab the updated (if the extension HAS been updated) one..etc..
  (I'm just thinking out loud..ignore me :)
 
 There is the start of a set of command line tools for doing this.

 I don't think having those separately is a good idea.
 More like a function set in PHP would make more sense.
 As you have to have the core PHP anyway?

I don't see how that would work.  The command-line tool would pull down
the tarball, phpize it to pull in the local configuration settings, then
build the extension.  Doing all this from an internal PHP call doesn't
make any sense to me.  That's like saying that phpize should be an
internal PHP function instead of the current shell script that it is now.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Kristian Köhntopp

Rasmus Lerdorf wrote:
 There will be more and more extensions that are not bundled with PHP, and
 having a standard way to check the version of an extension is going to be
 required.  This should also apply to the bundled extensions.

Currently there is a number of self-description functions
in PHP, such as the name of the current SAPI, tests for existing
(loaded) extensions and similar.

I'd second your request for a function or a number of functions
that report properties of a loaded extension, and I'd like to
see section in a manual that deals with analyzing your PHP
environment from a program.

So

1. how would I get a list of all currently loaded modules
   and their version number?
2. how would I get a list of functions names, constants 
   and magic variables and internal objects created by 
   this module?
3. what information can I get about the PHP core (version,
   SAPI, other information).

Question is, would it be possible write phpinfo() as a user
function? If yes, the set of self description of PHP would
be fairly complete - the list of function names etc actually
transcends phpino(). This could be interpreted as a shortcoming
of phpinfo(): module names should be clickable in phpinfo()
and lead to a page describing that module in detail.

Kristian

-- 
Kristian Köhntopp, NetUSE AG Dr.-Hell-Straße, D-24107 Kiel
Tel: +49 431 386 435 00, Fax: +49 431 386 435 99

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Stig Sæther Bakken

[Jani Taskinen [EMAIL PROTECTED]]
 On Thu, 17 May 2001, Rasmus Lerdorf wrote:
 
  I don't agree. Have you noticed the thread about domxml currently running
  in php-dev@? Wouldn't that justify a 4.1? What would?
 
 No, I don't think a single extension should affect the PHP version number
 to that extent.  But I do think we should be moving towards versioning the
 extensions individually.
 
 Could you explain how having separate version numbers for extensions would
 help at all? As long as the extensions are distributed with the main PHP
 package, that is.

It doesn't help of course.

 As long as these extensions are in there, I think changing any of their
 API's is a justification for 4.x release.

Again, this is how it's always been done.  A single extension has
never caused a minor version bump, and I don't see it happening (the
only extension I could see remotely justifying that would be
ext/standard, which is part of the core anyway...)

It is becoming painfully obvious what kind of release nightmare PHP is
cornering itself into.  The only way out of this mess is to split PHP
into smaller projects with their own release cycles, which is what I
wanted to do with 4.1 in the first place.  Until we do that, we're
stuck with our Cathedral, and will continue having RC/QA periods of at
least four weeks on micro releases.

So MNSHO is that 4.1 should be the split, and nothing but.  We can
release 4.2 just a couple of months after to address the other things
people have signed up for 4.1 now.

 - Stig

-- 
  Stig Sæther Bakken [EMAIL PROTECTED]
  Fast Search  Transfer ASA, Trondheim, Norway

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-18 Thread Boian Bonev

 One thing I'd like to see is a utility which could check a source
directory and
 warn about obviously deprecated / insecure / inefficient things. It'd make
life
 easier for that hypothetical ISP admin with a large pile of code which has
been
 haphazardly maintained for years.

hey, guys, how do you imagine an isp admin changing hosted code in order to
upgrade php to a newer incompatible version?

this is a dream - if isps are not sure it will work without changes, they
will never upgrade. if they upgrade and thousands of sites stop working many
people will _really_hate_ php

lets say i am the client and my isp decides to upgrade - they change my .php
files so they now work with the latest php version, tommorow i login and
upload my newer version and everything stops working, yes everything because
one of the files included everywhere uses a deprecated construct and bloats
with a syntax error...

breaking backward compatibility in php is not a good thing - it even cannot
be compared to apache 1.2.x differences to 1.3.x ones. for isps the
webserver is their responsibility but php code is user's. moving from apache
1.2.x to 1.3.x for a server with hundreds of hosted sites is a piece of cake
compared to upgrading from php3 to php4 - this is the reason many isps do
not upgrade and will not

b.


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-17 Thread Jani Taskinen

On Wed, 16 May 2001, Rasmus Lerdorf wrote:

Sure, but a version number if quite arbitrary and the way we have always
   ^^
Exactly..

done this is to consider the second digit for large changes.  The fact
that we haven't had a .1 yet is not really relevant.  I don't see why you
are making such a big deal out of a version number.

..why can't this 'way we have always' be changed to something else..? :)
I'm making this a 'big deal' because it really is time to make some
changes in 'the way we have always done things' as it seems to only
prevent us from doing anything else..

What I meant with this version number thingie is that as e.g. Zeev doesn't
like breaking the 'backwards compatibility' (referred to as BC from now on)
we have to find a way to do it 'nicely'.

Why not have some kind of roadmap for these. ie. say in that in which
versions (minor number) will some function,extension, etc. not exist, or
in which version something isn't BC anymore.

And like Sean suggested, we could create some tools which either
fix or at least inform that the script is not gonna work with 4.x.x
version.

[EMAIL PROTECTED] is just for administrative purposes.  Licensing issues and

Ok. I had totally wrong idea of it then. Sorry.

--Jani




-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-17 Thread PHP Whipping Boy

On 16 May 2001, Stig Sæther Bakken wrote:

Hey Jani, you can attribute yourself as the PHP Whipping Boy now if
you like.  I think you just got enough points. :-)

Ok. :)

I completely agree that we should start using the minor version.  It's
like we're afraid to touch it because that would imply too big changes
or something.  Seeing how huge our process between micro versions
has become, it's just getting weirder.

My thoughts exactly. It should be made clear in some place,
that when the minor number changes, what it means.

I think we should take a good look at the 4.1 TODO and split into a
4.1 and 4.2 TODO, and have 4.1 out sooner, maybe even as the next
release after 4.0.6.

Yes, please. :)

--Jani



--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-17 Thread Jani Taskinen

On Wed, 16 May 2001, Andrei Zmievski wrote:

Being antagonistically sarcastic won't win you any friends, Jani.

If I wanted friends, I'd get a dog.. :)

As far as your question about the version numbers, the middle digit gets
bumped up when we plan some changes that will break backwards
compatibility and implement features in the core language. So, yes, it
is something special, it's not for bug fixes or extension changes.

Exactly. As we now agree with it, let's get busy and start breaking
things! :)

--Jani


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-17 Thread Peter Petermann

 As far as your question about the version numbers, the middle digit gets
 bumped up when we plan some changes that will break backwards
 compatibility and implement features in the core language. So, yes, it
 is something special, it's not for bug fixes or extension changes.
 Exactly. As we now agree with it, let's get busy and start breaking
 things! :)

dont know if that is a good idea =)
i dont see the problems by breaking in other projects,
but if you break it in a language like php, weve got the problem
that a lot of scrips will not work any longer..
if you break in c / perl / etc. thats no prob, afaik you just need to
compile your work
before you update the language. In PHP you cant, if you upgrade your scripts
need to work
if not, providers would need to run more than one php version..
this would give a chaos like
index.php4.0
index.php4.1
index.php4.2
etc...
this cant be the right way...

--
Peter


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-17 Thread rasmus

 Being antagonistically sarcastic won't win you any friends, Jani.

 If I wanted friends, I'd get a dog.. :)

 As far as your question about the version numbers, the middle digit gets
 bumped up when we plan some changes that will break backwards
 compatibility and implement features in the core language. So, yes, it
 is something special, it's not for bug fixes or extension changes.

 Exactly. As we now agree with it, let's get busy and start breaking
 things! :)

I really don't think that this should be something to strive for.  There
should be a really really good reason for making changes that break
backward compatibility.  We have that second version number reserved for
such BC breaking changes that don't involve a huge rewrite (which is what
the first version number is for).  And yes, we have been very afraid to
make such changes, as we should be!  And the fact that we have never had a
.1 is an indication of just how unwilling we have been to make such
changes.  I see this as a success and not as a failure.  Imagine writing a
PHP package and having to indicate that this package will work on PHP
4.0.x, not 4.1.x and 4.2.x, but 4.3.x is fine.

But, if a good case can be made for such changes, or if we have a large
set of feature changes, then sure, let's use that second version number.
It isn't a rule written instone that the second version number is
exclusively for BC-breaking changes.  That's just what we have done so
far.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-17 Thread Cynic

At 06:56 17.5. 2001 -0700, [EMAIL PROTECTED] wrote:
  Being antagonistically sarcastic won't win you any friends, Jani.
 
  If I wanted friends, I'd get a dog.. :)
 
  As far as your question about the version numbers, the middle digit gets
  bumped up when we plan some changes that will break backwards
  compatibility and implement features in the core language. So, yes, it
  is something special, it's not for bug fixes or extension changes.
 
  Exactly. As we now agree with it, let's get busy and start breaking
  things! :)

I really don't think that this should be something to strive for.  There
should be a really really good reason for making changes that break
backward compatibility.  We have that second version number reserved for
such BC breaking changes that don't involve a huge rewrite (which is what
the first version number is for).  And yes, we have been very afraid to
make such changes, as we should be!  And the fact that we have never had a
.1 is an indication of just how unwilling we have been to make such
changes.  I see this as a success and not as a failure.  Imagine writing a

I don't agree. Have you noticed the thread about domxml currently running
in php-dev@? Wouldn't that justify a 4.1? What would?

PHP package and having to indicate that this package will work on PHP
4.0.x, not 4.1.x and 4.2.x, but 4.3.x is fine.

But, if a good case can be made for such changes, or if we have a large
set of feature changes, then sure, let's use that second version number.
It isn't a rule written instone that the second version number is
exclusively for BC-breaking changes.  That's just what we have done so
far.

-Rasmus


--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED]
-
And the eyes of them both were opened and they saw that their files
were world readable and writable, so they chmoded 600 their files.
 - Book of Installation chapt 3 sec 7 


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-17 Thread Rasmus Lerdorf

 I really don't think that this should be something to strive for.  There
 should be a really really good reason for making changes that break
 backward compatibility.  We have that second version number reserved for
 such BC breaking changes that don't involve a huge rewrite (which is what
 the first version number is for).  And yes, we have been very afraid to
 make such changes, as we should be!  And the fact that we have never had a
 .1 is an indication of just how unwilling we have been to make such
 changes.  I see this as a success and not as a failure.  Imagine writing a

 I don't agree. Have you noticed the thread about domxml currently running
 in php-dev@? Wouldn't that justify a 4.1? What would?

No, I don't think a single extension should affect the PHP version number
to that extent.  But I do think we should be moving towards versioning the
extensions individually.

-Rasmus


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Zeev Suraski

At 01:40 15/5/2001, Sterling Hughes wrote:
Sure, yeah.  But as a note, other big projects with huge user bases break 
compatibility as well, Perl, Apache, Python, to name three.

It doesn't mean it's a good idea.

And in its own way, C, is constantly breaking compat, the amount of times 
I've had to upgrade programs i've written, because a library changes is 
countless...

Well, C's been pretty darned stable along the years, since it was 
ANSI'fied.  C++ was a moving target.  I don't recall having to make any 
significant changes in PHP's fairly-large codebase (as well as other 
codebases I was working on along the years) due to standard changes, except 
for, perhaps, the inline issues.  I definitely wouldn't consider this to be 
a precedence for making downwards incompatible changes.

On the other hand, I really don't like the bloat either.
So, what should be done?  In my opinion, the approach of adding E_NOTICE 
notifications to functions doesn't cut it;  It won't significantly 
improve the situation.  I think we should go in a different path (or an 
'extended' path) - IMHO, the best approach would be adding some sort of a 
'LEAN_AND_MEAN' mode to PHP's build.   When built in this mode, bloat 
code will be #define'd away, or displayed as 'deprecated' in a similar 
manner to the way warn_not_available works.  That gives everyone almost 
everything - people who care about the bloat (like me) will build it in 
LEAN_AND_MEAN mode, hosting companies or legacy sites, who care most 
about having their code go on working with minimum hassle - won't mind 
the added bloat.  If kept closely documented, people who care enough 
about the bloat will be able to go through the checklist, make sure their 
sites are compatible with it, and turn this mode on.

well, you can't have your cake and eat it too.

No need to get into metaphores - I'm suggesting a very specific 
solution.  What's the cake and who's eating it, I don't know :)

(did I say this before when talking about backwards compat, 
AHH, hey Zeev, is PHP an OO language? ;)

I'm not sure how it's related to downwards compatibility...

Well, what I intended to do was mark it with an E_NOTICE for this release 
and if no one complained with my latest commit, redo the 
call_user_method*() documentation as well as a big ass news entry.

Next release, bump up the level to E_WARNING, and add a nice sized NEWS 
entry about that.

Finally, third release, say buh-bye to good old call_user_method, and 
replace it with a new function, warn_depreciated.

Bare in mind that many people don't upgrade on every release.  I'd argue 
even that most people don't, and only upgrade every 2 or 3 releases, that 
is, if they upgrade at all.  So for them, this entire process will be a 
single and swift blow in the face, despite your efforts.
Also bare in mind that a very large percentage of the developers don't 
*want* to be forced to change their code, and consider it to be a 
misfeature in the language if it breaks downwards compatibility in between 
releases, regardless of whether they get a clear notification about it or not.

However, you have a very good point, ISP's will be pissed if we 
drastically change the syntax.

They're pissed even if we slightly change the syntax, too, as a matter of 
fact.  It's the small downwards compatibility breaks that make them say 
the hell with it, I'm not upgrading.

And your solution seems good, I'd just do the reverse (semantically 
speaking), so instead, what I think we should do is have a 
--enable-backwards-compat mode.  This mode would be for ISP's and people 
who need the bug fixes, etc. in new PHP releases, but don't want to 
upgrade their scripts.

So, when deprecating a feature, the following is employed:

minor release 1:  non backwards compat mode
php_error(E_WARNING, DEPRECATED FEATURE BUM!);

minor release 2:
now the function warn_deprecated replaces the deprecated function in 
 non backwards compat mode, backwards compat mode is the only place the 
 function is no longer present.  The function code is moved to php4/legacy.

I haven't thought out my opinion on how the deprecation process should be 
exactly, whether it should happen in minor or major releases only, and 
whether it should be on or off by default.  As always, the first step would 
be implementing this mechanism and streamlining it.  We can figure out the 
small details later.

Zeev


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Jani Taskinen

On Wed, 16 May 2001, Zeev Suraski wrote:

Also bare in mind that a very large percentage of the developers don't
*want* to be forced to change their code, and consider it to be a

Who's forcing anybody to update anyway?

misfeature in the language if it breaks downwards compatibility in between
releases, regardless of whether they get a clear notification about it or not.

It seems like everybody just ignores my emails..oh well. So I can rant
again. :-p

Have you ever heard that you can also change that number in the middle?
  4.0.6
This one^

It can be something else than an ellipse called zero..it can even be a
number 1!!! Whoa! Never thougth about that?!

And maybe, just MAYBE then these people (who you seem to think of as
complete idiots) would READ the NEWS file? Or e.g. RELEASE_NOTES ?

Or is that number in the middle reserved for something special? Something
the 'group' only know of and don't want to tell us lower class people?
Maybe the 'group' could take their thumbs out of their asses and
start DOING something? And maybe they could start listening to new ideas
for once and a while. Or is the 'group' nowadays only Zeev/Andi ?

It would be really nice to hear from the other members of the 'group' also
as it really seems like the only ones speaking for it are Zeev/Andi..

Or could someone please define the function of this mysterious 'group' ?
(And please, someone else than Zeev/Andi.. :)

--Jani


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Andrei Zmievski

On Wed, 16 May 2001, Jani Taskinen wrote:
 Have you ever heard that you can also change that number in the middle?
   4.0.6
 This one^
 
 It can be something else than an ellipse called zero..it can even be a
 number 1!!! Whoa! Never thougth about that?!
 
 And maybe, just MAYBE then these people (who you seem to think of as
 complete idiots) would READ the NEWS file? Or e.g. RELEASE_NOTES ?
 
 Or is that number in the middle reserved for something special? Something
 the 'group' only know of and don't want to tell us lower class people?
 Maybe the 'group' could take their thumbs out of their asses and
 start DOING something? And maybe they could start listening to new ideas
 for once and a while. Or is the 'group' nowadays only Zeev/Andi ?
 
 It would be really nice to hear from the other members of the 'group' also
 as it really seems like the only ones speaking for it are Zeev/Andi..
 
 Or could someone please define the function of this mysterious 'group' ?
 (And please, someone else than Zeev/Andi.. :)

Being antagonistically sarcastic won't win you any friends, Jani.

As far as your question about the version numbers, the middle digit gets
bumped up when we plan some changes that will break backwards
compatibility and implement features in the core language. So, yes, it
is something special, it's not for bug fixes or extension changes.

-Andrei

Politics is for the moment, an equation is for eternity.
   
   -- Albert Einstein

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Zeev Suraski

At 14:06 16/5/2001, Jani Taskinen wrote:
On Wed, 16 May 2001, Zeev Suraski wrote:

 Also bare in mind that a very large percentage of the developers don't
 *want* to be forced to change their code, and consider it to be a

Who's forcing anybody to update anyway?

We are, by not supporting old versions (i.e., no bug fixes, no security 
updates, no nothing).

 misfeature in the language if it breaks downwards compatibility in between
 releases, regardless of whether they get a clear notification about it 
 or not.

It seems like everybody just ignores my emails..oh well. So I can rant
again. :-p

I don't ignore your Email;  I answered you.

Have you ever heard that you can also change that number in the middle?
   4.0.6
This one^

It can be something else than an ellipse called zero..it can even be a
number 1!!! Whoa! Never thougth about that?!

So what?  ISPs and many companies won't be bothered even if you change the 
ellipse to the number of the beast.  So what.  It breaks compatibility.

And maybe, just MAYBE then these people (who you seem to think of as
complete idiots) would READ the NEWS file? Or e.g. RELEASE_NOTES ?

It has nothing to do with their level of stupidity, or even 
ignorance.  They can be Einsteins, but breaking downwards compatibility 
means we're giving them work to do, work that they don't want to do, and 
shouldn't be forced to do.


Or is that number in the middle reserved for something special? Something
the 'group' only know of and don't want to tell us lower class people?
Maybe the 'group' could take their thumbs out of their asses and
start DOING something? And maybe they could start listening to new ideas
for once and a while. Or is the 'group' nowadays only Zeev/Andi ?

It would be really nice to hear from the other members of the 'group' also
as it really seems like the only ones speaking for it are Zeev/Andi..

Or could someone please define the function of this mysterious 'group' ?
(And please, someone else than Zeev/Andi.. :)

I'll let that topic slide for now.  We'll get around to it soon.  At any 
rate, other than your mood, the issue of the group has nothing to do with 
this issue.

Zeev


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Cynic

Hi Andrei.

Yes, that's how it should be, but not how it is. At least I've been
observing PHP 4.0.x evolve dramatically with compat breakage included.

At 08:34 16.5. 2001 -0500, Andrei Zmievski wrote:
As far as your question about the version numbers, the middle digit gets
bumped up when we plan some changes that will break backwards
compatibility and implement features in the core language. So, yes, it
is something special, it's not for bug fixes or extension changes.

-Andrei



[EMAIL PROTECTED]
-
And the eyes of them both were opened and they saw that their files
were world readable and writable, so they chmoded 600 their files.
 - Book of Installation chapt 3 sec 7 


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Harald Radi

 new way:
 call_user_func(array($obj, method), method, args, go, here);
---^
isn't 'pass by reference' deprecated too ?

harald.

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Sterling Hughes

Harald Radi wrote:

new way:
call_user_func(array($obj, method), method, args, go, here);

 ---^
 isn't 'pass by reference' deprecated too ?
 


yes, so?  the above is not pass by reference, your passing an array to 
the function, not a reference to an array.

-sterling


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Andi Gutmans

At 01:06 PM 5/16/2001 +0200, Jani Taskinen wrote:
On Wed, 16 May 2001, Zeev Suraski wrote:

 Also bare in mind that a very large percentage of the developers don't
 *want* to be forced to change their code, and consider it to be a

Who's forcing anybody to update anyway?

 misfeature in the language if it breaks downwards compatibility in between
 releases, regardless of whether they get a clear notification about it 
 or not.

It seems like everybody just ignores my emails..oh well. So I can rant
again. :-p

Have you ever heard that you can also change that number in the middle?
   4.0.6
This one^

It can be something else than an ellipse called zero..it can even be a
number 1!!! Whoa! Never thougth about that?!

And maybe, just MAYBE then these people (who you seem to think of as
complete idiots) would READ the NEWS file? Or e.g. RELEASE_NOTES ?

Or is that number in the middle reserved for something special? Something
the 'group' only know of and don't want to tell us lower class people?
Maybe the 'group' could take their thumbs out of their asses and
start DOING something? And maybe they could start listening to new ideas
for once and a while. Or is the 'group' nowadays only Zeev/Andi ?

It would be really nice to hear from the other members of the 'group' also
as it really seems like the only ones speaking for it are Zeev/Andi..

Or could someone please define the function of this mysterious 'group' ?
(And please, someone else than Zeev/Andi.. :)

I hope you don't mind me replying :)
I agree with you that we can bump the second version number.
I think the biggest question is if we were to create a 4.1.x in order to 
make changes (not features necessarily) which we think are important for 
standardization of function names, install paths and so on then how do we 
do it.
There has been lots of talk and I think there have also been some good ideas.
The only problem I have had with these discussions up to now is that people 
here really forget that the average PHP coder is not a php-dev guy who 
wants everything to be perfect.
So we can maybe start making a plan for 4.1.x which would address this 
standardization but I would definitely urge to think of the average PHP 
user and give him an option which 95% of the time won't trash his site :)

Andi


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Stig Sæther Bakken

[Zeev Suraski [EMAIL PROTECTED]]
 One comment;  Why? :)
 
 We've been in that discussion before.  In my opinion, we should
 probably rethink our whole deprecation approach.
 Yes, I know that people don't like the burden of maintaining downwards
 compatibility.  I sure as hell don't.  But PHP's huge popularity boost
 put the development team in a position where it has *a lot* of
 responsibility;  Doing the wrong thing will reflect badly on PHP and
 its acceptance as a stable solution (not segfault wise, but
 development wise).
 
 On the other hand, I really don't like the bloat either.
 
 So, what should be done?  In my opinion, the approach of adding
 E_NOTICE notifications to functions doesn't cut it;  It won't
 significantly improve the situation.  I think we should go in a
 different path (or an 'extended' path) - IMHO, the best approach would
 be adding some sort of a 'LEAN_AND_MEAN' mode to PHP's build.   When
 built in this mode, bloat code will be #define'd away, or displayed as
 'deprecated' in a similar manner to the way warn_not_available works.
 That gives everyone almost everything -
 people who care about the bloat (like me) will build it in
 LEAN_AND_MEAN mode, hosting companies or legacy sites, who care most
 about having their code go on working with minimum hassle - won't mind
 the added bloat.  If kept closely documented, people who care enough
 about the bloat will be able to go through the checklist, make sure
 their sites are compatible with it, and turn this mode on.
 
 The only drawback I see to this approach is that the code itself
 remains and 'bloats' the various files.  We can probably overcome this
 problem by separating legacy code to separate files.

I second this.  Although we do have some minor bloat :) here and
there, I don't think we should go out of our way to break people's
scripts.

 - Stig

-- 
  Stig Sæther Bakken [EMAIL PROTECTED]
  Fast Search  Transfer ASA, Trondheim, Norway

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Stig Sæther Bakken

[Jani Taskinen [EMAIL PROTECTED]]
 On Wed, 16 May 2001, Zeev Suraski wrote:
 
 Also bare in mind that a very large percentage of the developers don't
 *want* to be forced to change their code, and consider it to be a
 
 Who's forcing anybody to update anyway?
 
 misfeature in the language if it breaks downwards compatibility in between
 releases, regardless of whether they get a clear notification about it or not.
 
 It seems like everybody just ignores my emails..oh well. So I can rant
 again. :-p
 
 Have you ever heard that you can also change that number in the middle?
   4.0.6
 This one^
 
 It can be something else than an ellipse called zero..it can even be a
 number 1!!! Whoa! Never thougth about that?!
 
 And maybe, just MAYBE then these people (who you seem to think of as
 complete idiots) would READ the NEWS file? Or e.g. RELEASE_NOTES ?
 
 Or is that number in the middle reserved for something special? Something
 the 'group' only know of and don't want to tell us lower class people?
 Maybe the 'group' could take their thumbs out of their asses and
 start DOING something? And maybe they could start listening to new ideas
 for once and a while. Or is the 'group' nowadays only Zeev/Andi ?
 
 It would be really nice to hear from the other members of the 'group' also
 as it really seems like the only ones speaking for it are Zeev/Andi..
 
 Or could someone please define the function of this mysterious 'group' ?
 (And please, someone else than Zeev/Andi.. :)

Hey Jani, you can attribute yourself as the PHP Whipping Boy now if
you like.  I think you just got enough points. :-)

I completely agree that we should start using the minor version.  It's
like we're afraid to touch it because that would imply too big changes
or something.  Seeing how huge our process between micro versions
has become, it's just getting weirder.

I think we should take a good look at the 4.1 TODO and split into a
4.1 and 4.2 TODO, and have 4.1 out sooner, maybe even as the next
release after 4.0.6.

 - Stig

-- 
  Stig Sæther Bakken [EMAIL PROTECTED]
  Fast Search  Transfer ASA, Trondheim, Norway

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Sean R. Bright

 -Original Message-
 From: Andi Gutmans [mailto:[EMAIL PROTECTED]]

...

 There has been lots of talk and I think there have also been
 some good ideas.
 The only problem I have had with these discussions up to now
 is that people
 here really forget that the average PHP coder is not a
 php-dev guy who
 wants everything to be perfect.
 So we can maybe start making a plan for 4.1.x which would
 address this
 standardization but I would definitely urge to think of the
 average PHP
 user and give him an option which 95% of the time won't trash
 his site :)

 Andi

Its not really my place to throw in my $0.02 having only contributed very
little thus far to the project, but reading this gave me a thought.  Why not
create a utility program before compatibility breaking releases that runs
through existing scripts and reports to the user/developer what types of
changes need to be made in order for the script to work properly under a new
version?  This way a user could download and build the utility, run it,
receive a report of the deprecated/changed functions, determine the amount
of effort that is going to be required to update his/her scripts and then
make an decision as when/if to upgrade.  It could feed off of some sort of
database on php.net so that we can update it with each new version without
having the user download/build again.  It may sound like a silly idea, but
there needs to be some sort of migration plan, and at least this way we will
not be alienating the end-users.

Sean


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Andi Gutmans

At 08:31 PM 5/16/2001 -0400, Stig Sæther Bakken wrote:
[Jani Taskinen [EMAIL PROTECTED]]
  On Wed, 16 May 2001, Zeev Suraski wrote:
 
  Also bare in mind that a very large percentage of the developers don't
  *want* to be forced to change their code, and consider it to be a
 
  Who's forcing anybody to update anyway?
 
  misfeature in the language if it breaks downwards compatibility in between
  releases, regardless of whether they get a clear notification about it 
 or not.
 
  It seems like everybody just ignores my emails..oh well. So I can rant
  again. :-p
 
  Have you ever heard that you can also change that number in the middle?
4.0.6
  This one^
 
  It can be something else than an ellipse called zero..it can even be a
  number 1!!! Whoa! Never thougth about that?!
 
  And maybe, just MAYBE then these people (who you seem to think of as
  complete idiots) would READ the NEWS file? Or e.g. RELEASE_NOTES ?
 
  Or is that number in the middle reserved for something special? Something
  the 'group' only know of and don't want to tell us lower class people?
  Maybe the 'group' could take their thumbs out of their asses and
  start DOING something? And maybe they could start listening to new ideas
  for once and a while. Or is the 'group' nowadays only Zeev/Andi ?
 
  It would be really nice to hear from the other members of the 'group' also
  as it really seems like the only ones speaking for it are Zeev/Andi..
 
  Or could someone please define the function of this mysterious 'group' ?
  (And please, someone else than Zeev/Andi.. :)

Hey Jani, you can attribute yourself as the PHP Whipping Boy now if
you like.  I think you just got enough points. :-)

I completely agree that we should start using the minor version.  It's
like we're afraid to touch it because that would imply too big changes
or something.  Seeing how huge our process between micro versions
has become, it's just getting weirder.

I think we should take a good look at the 4.1 TODO and split into a
4.1 and 4.2 TODO, and have 4.1 out sooner, maybe even as the next
release after 4.0.6.

I agree. I just think we should concentrate on something specific for 4.1. 
Otherwise, we're going to split up our efforts too much and 4.1 won't 
happen. I would go with the standardization stuff everyone has wanted and 
get it over with :) I'd like to do this without breaking everyone's sites 
though.

Andi


--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-16 Thread Andi Gutmans

At 10:27 PM 5/16/2001 -0400, Sean R. Bright wrote:
  -Original Message-
  From: Andi Gutmans [mailto:[EMAIL PROTECTED]]

...

  There has been lots of talk and I think there have also been
  some good ideas.
  The only problem I have had with these discussions up to now
  is that people
  here really forget that the average PHP coder is not a
  php-dev guy who
  wants everything to be perfect.
  So we can maybe start making a plan for 4.1.x which would
  address this
  standardization but I would definitely urge to think of the
  average PHP
  user and give him an option which 95% of the time won't trash
  his site :)
 
  Andi

Its not really my place to throw in my $0.02 having only contributed very
little thus far to the project, but reading this gave me a thought.  Why not
create a utility program before compatibility breaking releases that runs
through existing scripts and reports to the user/developer what types of
changes need to be made in order for the script to work properly under a new
version?  This way a user could download and build the utility, run it,
receive a report of the deprecated/changed functions, determine the amount
of effort that is going to be required to update his/her scripts and then
make an decision as when/if to upgrade.  It could feed off of some sort of
database on php.net so that we can update it with each new version without
having the user download/build again.  It may sound like a silly idea, but
there needs to be some sort of migration plan, and at least this way we will
not be alienating the end-users.

I think these kind of utilities are in general a good idea. We created one 
for the PHP/FI 2 - PHP 3 transition which helped people quite a bit.

Andi


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-14 Thread Zeev Suraski

One comment;  Why? :)

We've been in that discussion before.  In my opinion, we should probably 
rethink our whole deprecation approach.
Yes, I know that people don't like the burden of maintaining downwards 
compatibility.  I sure as hell don't.  But PHP's huge popularity boost put 
the development team in a position where it has *a lot* of 
responsibility;  Doing the wrong thing will reflect badly on PHP and its 
acceptance as a stable solution (not segfault wise, but development wise).

On the other hand, I really don't like the bloat either.

So, what should be done?  In my opinion, the approach of adding E_NOTICE 
notifications to functions doesn't cut it;  It won't significantly improve 
the situation.  I think we should go in a different path (or an 'extended' 
path) - IMHO, the best approach would be adding some sort of a 
'LEAN_AND_MEAN' mode to PHP's build.   When built in this mode, bloat code 
will be #define'd away, or displayed as 'deprecated' in a similar manner to 
the way warn_not_available works.  That gives everyone almost everything - 
people who care about the bloat (like me) will build it in LEAN_AND_MEAN 
mode, hosting companies or legacy sites, who care most about having their 
code go on working with minimum hassle - won't mind the added bloat.  If 
kept closely documented, people who care enough about the bloat will be 
able to go through the checklist, make sure their sites are compatible with 
it, and turn this mode on.

The only drawback I see to this approach is that the code itself remains 
and 'bloats' the various files.  We can probably overcome this problem by 
separating legacy code to separate files.

Zeev

At 22:28 14/5/2001, Sterling Hughes wrote:
howdy,
 Just sending a note about the deprecation of the call_user_method() 
 functions.  It basically sends an E_NOTICE message now when 
 call_user_method() or call_user_method_array() are called. This is 
 because the call_user_method() and call_user_method_array() functions can 
 easily be duplicated by:

old way:
call_user_method($func, $obj, method, args, go, here);

new way:
call_user_func(array($obj, method), method, args, go, here);

Comments? Questions?

-Sterling


--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

--
Zeev Suraski [EMAIL PROTECTED]
CTO   co-founder, Zend Technologies Ltd. http://www.zend.com/


-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-14 Thread Sterling Hughes

Zeev Suraski wrote:

 One comment;  Why? :)
 


Simple, there is no point in having two functions which can do the same 
things.  call_user_method was the less flexible of the two, so I


 We've been in that discussion before.  In my opinion, we should probably 
 rethink our whole deprecation approach.


Yep, we need to decide on a standard for deprecating things.


 Yes, I know that people don't like the burden of maintaining downwards 
 compatibility.  I sure as hell don't.  But PHP's huge popularity boost 
 put the development team in a position where it has *a lot* of 
 responsibility;  Doing the wrong thing will reflect badly on PHP and its 
 acceptance as a stable solution (not segfault wise, but development wise).
 


Sure, yeah.  But as a note, other big projects with huge user bases 
break compatibility as well, Perl, Apache, Python, to name three.

And in its own way, C, is constantly breaking compat, the amount of 
times I've had to upgrade programs i've written, because a library 
changes is countless...


 On the other hand, I really don't like the bloat either.
 
 So, what should be done?  In my opinion, the approach of adding E_NOTICE 
 notifications to functions doesn't cut it;  It won't significantly 
 improve the situation.  I think we should go in a different path (or an 
 'extended' path) - IMHO, the best approach would be adding some sort of 
 a 'LEAN_AND_MEAN' mode to PHP's build.   When built in this mode, bloat 
 code will be #define'd away, or displayed as 'deprecated' in a similar 
 manner to the way warn_not_available works.  That gives everyone almost 
 everything - people who care about the bloat (like me) will build it in 
 LEAN_AND_MEAN mode, hosting companies or legacy sites, who care most 
 about having their code go on working with minimum hassle - won't mind 
 the added bloat.  If kept closely documented, people who care enough 
 about the bloat will be able to go through the checklist, make sure 
 their sites are compatible with it, and turn this mode on.
 


well, you can't have your cake and eat it too.

(did I say this before when talking about backwards compat, 
AHH, hey Zeev, is PHP an OO language? ;)

Well, what I intended to do was mark it with an E_NOTICE for this 
release and if no one complained with my latest commit, redo the 
call_user_method*() documentation as well as a big ass news entry.

Next release, bump up the level to E_WARNING, and add a nice sized NEWS 
entry about that.

Finally, third release, say buh-bye to good old call_user_method, and 
replace it with a new function, warn_depreciated.

However, you have a very good point, ISP's will be pissed if we 
drastically change the syntax.  And your solution seems good, I'd just 
do the reverse (semantically speaking), so instead, what I think we 
should do is have a --enable-backwards-compat mode.  This mode would be 
for ISP's and people who need the bug fixes, etc. in new PHP releases, 
but don't want to upgrade their scripts.

So, when deprecating a feature, the following is employed:

minor release 1:  non backwards compat mode
php_error(E_WARNING, DEPRECATED FEATURE BUM!);

minor release 2:
now the function warn_deprecated replaces the deprecated function in 
non backwards compat mode, backwards compat mode is the only place the 
function is no longer present.  The function code is moved to php4/legacy.


 The only drawback I see to this approach is that the code itself remains 
 and 'bloats' the various files.  We can probably overcome this problem 
 by separating legacy code to separate files.
 


or a seperate directory, backwards compat code can be placed in php4/legacy.


-Sterling



-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




Re: [PHP-DEV] Latest commit -- depreciation of call_user_method()

2001-05-14 Thread Chris Adams

On 14 May 2001 15:37:43 -0700, Sterling Hughes [EMAIL PROTECTED]
wrote:
 We've been in that discussion before.  In my opinion, we should probably 
 rethink our whole deprecation approach.
 
 Yep, we need to decide on a standard for deprecating things.

One thing I'd like to see is a utility which could check a source directory and
warn about obviously deprecated / insecure / inefficient things. It'd make life
easier for that hypothetical ISP admin with a large pile of code which has been
haphazardly maintained for years.

-- 
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]