# PHP 5.3 Suggested Feature List

- Thread: https://externals.io/message/32129
- Original archive: https://news-web.php.net/php.internals/32129
- Started by Ilia Alshanetsky on 2007-09-09T17:07:37+00:00
- Messages: 63
- Page 1 of 3: messages 1 to 25 (25 per page, add `?page=N` to the URL)
- Next page: https://externals.io/message/32129.md?page=2
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #32129 — Ilia Alshanetsky — 2007-09-09T17:07:37+00:00

URL: https://externals.io/message/32129#32129

Its been about a week since RFS for features to go into 5.3 has gone  
out and while there was not a "flood" of ideas there is a substantial  
list of key changes people would like to go into this release. I've  
compiled a list of all of the suggestions I've received, they are  
listed below in a form that will hopefully make it easy for people to  
vote their yeys and nays. My hope that we can reach an agreement  
within 1-2 weeks so 5.3 can be branched and work on it can begin.

List of Feature Ideas
----------------------------

1) Backport the namespaces patch for PHP 6

1		0		-1

2) Symlink the intl extension from PECL, but leave it disabled by  
default as is the case with all extensions dependent on external libs

1		0		-1

3) Apply the Late Static Binding Patch

1		0		-1

4) Implement David's Circular Garbage collection patch

1		0		-1

5) Implement Sqlite3 support via the ext/sqlite extension (patch is  
already available)

1		0		-1

6) Remove safe_mode, register_globals and magic_quotes

1		0		-1

7) Introduce mysqlind library into core and use it as a backend for  
PDO and mysqli extensions (possibly enabling them by default)

1		0		-1

8) OpenID enabling patch for OpenSSL and PHP 5

1		0		-1

9) Add array_replace[_recursive] functions (patch is already available)

1		0		-1

10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

1		0		-1

11) Merge the zend_arg_info const'ify patch

1		0		-1

12) Merge the GCC 4 -fvisibility patch

1		0		-1

13) Switch for disabling/enabling materialized cursors in mysqli

1		0		-1

14) Link phar extension from PECL into core (possibly enabling it by  
default)

1		0		-1

15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch

1		0		-1

16) Introduce new php.ini files parser/scanner + CGI/FastCGI?  
"htaccess" style ini file support

1		0		-1

17) Merge __callStatic patch from PHP 6

1		0		-1

18) Introduce concept of "strict classes" that do not permit dynamic  
property creation

1		0		-1

Ilia Alshanetsky

---

## #32130 — Larry Garfield — 2007-09-09T17:28:05+00:00

URL: https://externals.io/message/32129#32130 · In reply to: #32129

> Its been about a week since RFS for features to go into 5.3 has gone
> out and while there was not a "flood" of ideas there is a substantial
> list of key changes people would like to go into this release. I've
> compiled a list of all of the suggestions I've received, they are
> listed below in a form that will hopefully make it easy for people to
> vote their yeys and nays. My hope that we can reach an agreement
> within 1-2 weeks so 5.3 can be branched and work on it can begin.

Response from a random PHP guy who doesn't work on the engine itself (so take 
with appropriate quantities of NaCl):

> List of Feature Ideas
> ----------------------------
>
> 1) Backport the namespaces patch for PHP 6

 1

> 2) Symlink the intl extension from PECL, but leave it disabled by
> default as is the case with all extensions dependent on external libs

I have no opinion.

> 3) Apply the Late Static Binding Patch

-1, unless we can guarantee no BC breakage with 5.2.

> 4) Implement David's Circular Garbage collection patch

I am not qualified to offer an intelligent opinion.

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is
> already available)

1

> 6) Remove safe_mode, register_globals and magic_quotes

-1

These must die, but that's also a huge BC break, even if those are already 
unrecommended.  That would almost certainly slow adoption by shared hosts, 
which means that 5.3 would have a 5.0-like adoption curve. :-)  Save the code 
breaking for PHP 6.

> 7) Introduce mysqlind library into core and use it as a backend for
> PDO and mysqli extensions (possibly enabling them by default)

0

I have not tested it personally, but I'm all for stuff getting faster.  I 
would recommend making it a simple toggle with default no for now, until it's 
more battle-tested in the field.  Change the default in 5.4, perhaps.

> 8) OpenID enabling patch for OpenSSL and PHP 5

I have no opinion.

> 9) Add array_replace[_recursive] functions (patch is already available)
>
> 1		0		-1
>
> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

1

> 11) Merge the zend_arg_info const'ify patch

I have no opinion.

> 12) Merge the GCC 4 -fvisibility patch

I am not qualified to offer an intelligent opinion.

> 13) Switch for disabling/enabling materialized cursors in mysqli

I have no opinion.

> 14) Link phar extension from PECL into core (possibly enabling it by
> default)

I have no opinion.

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch

I am not qualified to offer an intelligent opinion.

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?
> "htaccess" style ini file support

I have no opinion.

> 17) Merge __callStatic patch from PHP 6

1

> 18) Introduce concept of "strict classes" that do not permit dynamic
> property creation

0

I think I missed that discussion, so I can't say anything useful here other 
than please make such classes optional, not required (or inherent upon using 
E_STRICT).

-- 
Larry Garfield			AIM: LOLG42
larry@garfieldtech.com		ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson

---

## #32132 — Pierre — 2007-09-09T17:49:38+00:00

URL: https://externals.io/message/32129#32132 · In reply to: #32129

> Its been about a week since RFS for features to go into 5.3 has gone
> out and while there was not a "flood" of ideas there is a substantial
> list of key changes people would like to go into this release. I've
> compiled a list of all of the suggestions I've received, they are
> listed below in a form that will hopefully make it easy for people to
> vote their yeys and nays. My hope that we can reach an agreement
> within 1-2 weeks so 5.3 can be branched and work on it can begin.
>
> List of Feature Ideas
> ----------------------------
>
> 1) Backport the namespaces patch for PHP 6
>
> 1               0               -1

1


> 2) Symlink the intl extension from PECL, but leave it disabled by
> default as is the case with all extensions dependent on external libs
>
> 1               0               -1

Too early, we don't even have a release now. If it is stable by the
end of the year (before RC1), then +1.

> 3) Apply the Late Static Binding Patch
>
> 1               0               -1

1

> 4) Implement David's Circular Garbage collection patch
>
> 1               0               -1

0

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is
> already available)
>
> 1               0               -1

+1

> 6) Remove safe_mode, register_globals and magic_quotes
>
> 1               0               -1
>
> 7) Introduce mysqlind library into core and use it as a backend for
> PDO and mysqli extensions (possibly enabling them by default)
>
> 1               0               -1

optional not by default.

> 8) OpenID enabling patch for OpenSSL and PHP 5
>
> 1               0               -1

+1 (there is nothing to vote on btw...)


> 9) Add array_replace[_recursive] functions (patch is already available)
>
> 1               0               -1

+1

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
>
> 1               0               -1

+1

> 11) Merge the zend_arg_info const'ify patch
>
> 1               0               -1

+1


> 12) Merge the GCC 4 -fvisibility patch
>
> 1               0               -1

0

> 13) Switch for disabling/enabling materialized cursors in mysqli
>
> 1               0               -1

0

> 14) Link phar extension from PECL into core (possibly enabling it by
> default)
>
> 1               0               -1

-1

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
>
> 1               0               -1

1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?
> "htaccess" style ini file support
>
> 1               0               -1

+1, for the record, it allows what htscanner does
(http://pecl.php.net/htscanner) but adding a tons of good things. More
to come very soon, docs from me and patch from Jani.

> 17) Merge __callStatic patch from PHP 6
>
> 1               0               -1

1

> 18) Introduce concept of "strict classes" that do not permit dynamic
> property creation
>
> 1               0               -1

1

--Pierre

---

## #32131 — Gregory Beaver — 2007-09-09T17:49:44+00:00

URL: https://externals.io/message/32129#32131 · In reply to: #32129

Ilia Alshanetsky wrote:
> Its been about a week since RFS for features to go into 5.3 has gone out
> and while there was not a "flood" of ideas there is a substantial list
> of key changes people would like to go into this release. I've compiled
> a list of all of the suggestions I've received, they are listed below in
> a form that will hopefully make it easy for people to vote their yeys
> and nays. My hope that we can reach an agreement within 1-2 weeks so 5.3
> can be branched and work on it can begin.
> 
> List of Feature Ideas
> ----------------------------
> 
> 1) Backport the namespaces patch for PHP 6

+1

> 2) Symlink the intl extension from PECL, but leave it disabled by
> default as is the case with all extensions dependent on external libs

0

> 3) Apply the Late Static Binding Patch

+1

> 4) Implement David's Circular Garbage collection patch

0

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is
> already available)

+1

> 6) Remove safe_mode, register_globals and magic_quotes

0

> 7) Introduce mysqlind library into core and use it as a backend for PDO
> and mysqli extensions (possibly enabling them by default)

+2

> 8) OpenID enabling patch for OpenSSL and PHP 5

+1

> 9) Add array_replace[_recursive] functions (patch is already available)

+0

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

+100000

> 11) Merge the zend_arg_info const'ify patch

0

> 12) Merge the GCC 4 -fvisibility patch

0

> 13) Switch for disabling/enabling materialized cursors in mysqli

0

> 14) Link phar extension from PECL into core (possibly enabling it by
> default)

+1 (by the way, callgrind profiling reveals a ~300% speed difference
between userland PHP_Archive and pecl/phar in average case, and more in
best case.  More optimizations are possible and planned as well that
will make phar equal to or even faster than straight FS ops when coupled
with APC).

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch

0

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI? "htaccess"
> style ini file support

+1

> 17) Merge __callStatic patch from PHP 6

+1

> 18) Introduce concept of "strict classes" that do not permit dynamic
> property creation

-1


Thanks,
Greg

---

## #32133 — David Coallier — 2007-09-09T17:59:39+00:00

URL: https://externals.io/message/32129#32133 · In reply to: #32129

> Its been about a week since RFS for features to go into 5.3 has gone
> out and while there was not a "flood" of ideas there is a substantial
> list of key changes people would like to go into this release. I've
> compiled a list of all of the suggestions I've received, they are
> listed below in a form that will hopefully make it easy for people to
> vote their yeys and nays. My hope that we can reach an agreement
> within 1-2 weeks so 5.3 can be branched and work on it can begin.
>
> List of Feature Ideas
> ----------------------------
>
> 1) Backport the namespaces patch for PHP 6
>
> 1               0               -1

1

>
> 2) Symlink the intl extension from PECL, but leave it disabled by
> default as is the case with all extensions dependent on external libs
>
> 1               0               -1

0

>
> 3) Apply the Late Static Binding Patch
>
> 1               0               -1

1

>
> 4) Implement David's Circular Garbage collection patch
>
> 1               0               -1

-1

This is a big change and would probably have to be in PHP6 unless it's
extensively tested on production environment. If it's the case, then
I'm all up for it.

>
> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is
> already available)
>
> 1               0               -1
>

1

> 6) Remove safe_mode, register_globals and magic_quotes
>
> 1               0               -1

-1

I am scared of the HUGE BC break this is gonna be causing. I really do
hate those parameters and make all my customers not use it, however,
some people still sadly use it.

>
> 7) Introduce mysqlind library into core and use it as a backend for
> PDO and mysqli extensions (possibly enabling them by default)
>
> 1               0               -1

1
Not by default, --enable-mysqlnd

>
> 8) OpenID enabling patch for OpenSSL and PHP 5
>
> 1               0               -1
>

1

> 9) Add array_replace[_recursive] functions (patch is already available)
>
> 1               0               -1
>

1

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
>
> 1               0               -1
>

1 YES!

> 11) Merge the zend_arg_info const'ify patch
>
> 1               0               -1
>

1

> 12) Merge the GCC 4 -fvisibility patch
>
> 1               0               -1
>

0

> 13) Switch for disabling/enabling materialized cursors in mysqli
>
> 1               0               -1
>

1

> 14) Link phar extension from PECL into core (possibly enabling it by
> default)
>
> 1               0               -1
>

1

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
>
> 1               0               -1
>

1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?
> "htaccess" style ini file support
>
> 1               0               -1
>

0

> 17) Merge __callStatic patch from PHP 6
>
> 1               0               -1
>

1

> 18) Introduce concept of "strict classes" that do not permit dynamic
> property creation
>
> 1               0               -1
>

1

> Ilia Alshanetsky
>
> --
> 
> 
>
>

One question remains, has SPL been ignored? Forgotten? or just refused?



-- 
David Coallier,
Founder & Software Architect,
Agora Production (http://agoraproduction.com)
51.42.06.70.18

---

## #32134 — Lester Caine — 2007-09-09T18:32:00+00:00

URL: https://externals.io/message/32129#32134 · In reply to: #32129

Ilia Alshanetsky wrote:
> Its been about a week since RFS for features to go into 5.3 has gone out 
> and while there was not a "flood" of ideas there is a substantial list 
> of key changes people would like to go into this release. I've compiled 
> a list of all of the suggestions I've received, they are listed below in 
> a form that will hopefully make it easy for people to vote their yeys 
> and nays. My hope that we can reach an agreement within 1-2 weeks so 5.3 
> can be branched and work on it can begin.
> 
> List of Feature Ideas
> ----------------------------
> 6) Remove safe_mode, register_globals and magic_quotes

PHP6 ONLY
Lets not have another round of broken systems when just upgrading a minor version.

> 7) Introduce mysqlind library into core and use it as a backend for PDO 
> and mysqli extensions (possibly enabling them by default)

? - Would they get in the way if you are NOT using PDO or mysqli
Why force us to load something that is not generally used by everyone?

In general PERSONALLY I would rather PHP5.3 was bug fixes rather than 
distracting from getting PHP6 out of the door?

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://home.lsces.co.uk/lsces/wiki/?page=contact
L.S.Caine Electronic Services - http://home.lsces.co.uk
MEDW - http://home.lsces.co.uk/ModelEngineersDigitalWorkshop/
Firebird - http://www.firebirdsql.org/index.php

---

## #32135 — Nuno Lopes — 2007-09-09T18:36:07+00:00

URL: https://externals.io/message/32129#32135 · In reply to: #32129

> 1) Backport the namespaces patch for PHP 6


> 2) Symlink the intl extension from PECL, but leave it disabled by  
> default as is the case with all extensions dependent on external libs

I haven't looked at it yet.

> 3) Apply the Late Static Binding Patch
+0

> 4) Implement David's Circular Garbage collection patch
+1

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is  
> already available)
+1

> 6) Remove safe_mode, register_globals and magic_quotes
-1

> 7) Introduce mysqlind library into core and use it as a backend for  
> PDO and mysqli extensions (possibly enabling them by default)
+1, but maybe not by default yet

> 8) OpenID enabling patch for OpenSSL and PHP 5
+1

> 9) Add array_replace[_recursive] functions (patch is already available)
+0

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
+0

> 11) Merge the zend_arg_info const'ify patch
+1 (biased)

> 12) Merge the GCC 4 -fvisibility patch
+1 (biased)

> 13) Switch for disabling/enabling materialized cursors in mysqli


> 14) Link phar extension from PECL into core (possibly enabling it by default)
0, but not by default.

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
+1
The patch is pretty simple. it just needs some typedefs to work on windows.

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?  
> "htaccess" style ini file support
+1, but with the option to disable it.

> 17) Merge __callStatic patch from PHP 6


> 18) Introduce concept of "strict classes" that do not permit dynamic  
> property creation
-0

Nuno

---

## #32139 — Antony Dovgal — 2007-09-09T19:45:14+00:00

URL: https://externals.io/message/32129#32139 · In reply to: #32129

> Its been about a week since RFS for features to go into 5.3 has gone  
> out and while there was not a "flood" of ideas there is a substantial  
> list of key changes people would like to go into this release. I've  
> compiled a list of all of the suggestions I've received, they are  
> listed below in a form that will hopefully make it easy for people to  
> vote their yeys and nays. My hope that we can reach an agreement  
> within 1-2 weeks so 5.3 can be branched and work on it can begin.
> 
> List of Feature Ideas
> ----------------------------
> 
> 1) Backport the namespaces patch for PHP 6
> 
> 1		0		-1

I thought most of us agreed that 5.3 should be == (PHP6 - Unicode).
1

> 2) Symlink the intl extension from PECL, but leave it disabled by  
> default as is the case with all extensions dependent on external libs
> 
> 1		0		-1

Once it's ready for production - why not?
1

> 3) Apply the Late Static Binding Patch
> 
> 1		0		-1

0

> 4) Implement David's Circular Garbage collection patch
> 
> 1		0		-1

IIRC that's one of the reasons for 5.3 branch.
1
 
> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is  
> already available)
> 
> 1		0		-1

0/-1 (see on reason to touch a working extension, but I don't really care).

> 6) Remove safe_mode, register_globals and magic_quotes
> 
> 1		0		-1

Let's leave this for HEAD.
-1

> 7) Introduce mysqlind library into core and use it as a backend for  
> PDO and mysqli extensions (possibly enabling them by default)
> 
> 1		0		-1

1
Same as PECL/intl - once it's ready, I see no reason to keep it "hidden".

> 8) OpenID enabling patch for OpenSSL and PHP 5
> 
> 1		0		-1

0

> 9) Add array_replace[_recursive] functions (patch is already available)
> 
> 1		0		-1

Do we really need more array functions?
I believe we already have quite a number.
-1
 
> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
> 
> 1		0		-1

-1
Didn't see any arguments for this.

> 11) Merge the zend_arg_info const'ify patch
> 
> 1		0		-1

0

> 12) Merge the GCC 4 -fvisibility patch
> 
> 1		0		-1

0
 
> 13) Switch for disabling/enabling materialized cursors in mysqli
> 
> 1		0		-1

0
 
> 14) Link phar extension from PECL into core (possibly enabling it by  
> default)
> 
> 1		0		-1

0 (-1 for enabling it by default).
 
> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
> 
> 1		0		-1

From what I recall, all Matt's patches were really good.
So I'm 0/+1.

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?  
> "htaccess" style ini file support
> 
> 1		0		-1

0
AFAIK it's too early.

> 17) Merge __callStatic patch from PHP 6
> 
> 1		0		-1

1/0.
I believe we should decide on more general problems first, 
i.e. what is 5_3 - is this (5_2 + a couple of patches) or (HEAD - Unicode)?

> 18) Introduce concept of "strict classes" that do not permit dynamic  
> property creation
> 
> 1		0		-1

0

-- 
Wbr, 
Antony Dovgal

---

## #32140 — David Coallier — 2007-09-09T20:13:24+00:00

URL: https://externals.io/message/32129#32140 · In reply to: #32139

> 
> > […]
>
> I thought most of us agreed that 5.3 should be == (PHP6 - Unicode).
> 1
>
> > […]
>
> Once it's ready for production - why not?
> 1
>
> > […]
>
> 0
>
> > […]
>
> IIRC that's one of the reasons for 5.3 branch.
> 1
>
> > […]
>
> 0/-1 (see on reason to touch a working extension, but I don't really care).
>
> > […]
>
> Let's leave this for HEAD.
> -1
>
> > […]
>
> 1
> Same as PECL/intl - once it's ready, I see no reason to keep it "hidden".
>
> > […]
>
> 0
>
> > […]
>
> Do we really need more array functions?
> I believe we already have quite a number.
> -1
>
> > […]
>
> -1
> Didn't see any arguments for this.

http://marc.info/?l=php-dev&m=116163053224532&w=2

>
> > […]
>
> 0
>
> > […]
>
> 0
>
> > […]
>
> 0
>
> > […]
>
> 0 (-1 for enabling it by default).
>
> > […]
>
> From what I recall, all Matt's patches were really good.
> So I'm 0/+1.
>
> > […]
>
> 0
> AFAIK it's too early.
>
> > […]
>
> 1/0.
> I believe we should decide on more general problems first,
> i.e. what is 5_3 - is this (5_2 + a couple of patches) or (HEAD - Unicode)?
>

Good point

> > […]
>
> 0
>
> --
> Wbr,
> Antony Dovgal
>
> --
> 
> 
>
>


-- 
David Coallier,
Founder & Software Architect,
Agora Production (http://agoraproduction.com)
51.42.06.70.18

---

## #32141 — Brian Moon — 2007-09-09T20:18:56+00:00

URL: https://externals.io/message/32129#32141 · In reply to: #32129

All none listed are zero for me.

> 1) Backport the namespaces patch for PHP 6

1

> 6) Remove safe_mode, register_globals and magic_quotes

-1

> 7) Introduce mysqlind library into core and use it as a backend for PDO 
> and mysqli extensions (possibly enabling them by default)

1

> 8) OpenID enabling patch for OpenSSL and PHP 5

1

> 9) Add array_replace[_recursive] functions (patch is already available)

1

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI? "htaccess" 
> style ini file support

1


-- 

Brian Moon
Senior Developer
------------------------------
http://dealnews.com/
It's good to be cheap =)

---

## #32142 — Stanislav Malyshev — 2007-09-09T20:36:02+00:00

URL: https://externals.io/message/32129#32142 · In reply to: #32129

> 1) Backport the namespaces patch for PHP 6

1 as soon as we have it stabilized.

> 2) Symlink the intl extension from PECL, but leave it disabled by 
> default as is the case with all extensions dependent on external libs

1

> 3) Apply the Late Static Binding Patch

1

> 4) Implement David's Circular Garbage collection patch

Only if no significant performance degradation or one could turn it 
on/off at will.

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is 
> already available)

1

> 6) Remove safe_mode, register_globals and magic_quotes

-1 I think it's still too early. If we have E_DEPCRECATED however we 
might add some annoyances to them ;)

> 7) Introduce mysqlind library into core and use it as a backend for PDO 
> and mysqli extensions (possibly enabling them by default)

Introduce - +1, use as default - not sure, does mysqlnd has any 
downsides? If not, +1 too.

> 8) OpenID enabling patch for OpenSSL and PHP 5

1

> 9) Add array_replace[_recursive] functions (patch is already available)

0

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

0. Why do we *need* it again?

> 11) Merge the zend_arg_info const'ify patch

1

> 12) Merge the GCC 4 -fvisibility patch

1

> 13) Switch for disabling/enabling materialized cursors in mysqli

0

> 14) Link phar extension from PECL into core (possibly enabling it by 
> default)

-1, we discussed why :) 0 if not enabled by default.

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch

1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI? "htaccess" 
> style ini file support

0. We need to check very thoroughly we won't have security trouble with 
it like we had with .htaccess. If it's ok then 1.

> 17) Merge __callStatic patch from PHP 6

1 with all other __static too.

> 18) Introduce concept of "strict classes" that do not permit dynamic 
> property creation

-1 for now, not sure it's that useful, we are "dynamic" language ;)

I also think the following items are not mentioned:

Dynamic class access ($class::method)
(binary) operator which is the same as (string)
remove --enable-fastcgi and family, always enable them
remove warning for var
Non-parsed heredocs (nowdocs)
goto
__construct in interfaces
Constant folding in compile-time


-- 
Stanislav Malyshev, Zend Software Architect
stas@zend.com   http://www.zend.com/
(408)253-8829   MSN: stas@zend.com

---

## #32146 — johannes@php.net — 2007-09-09T21:41:46+00:00

URL: https://externals.io/message/32129#32146 · In reply to: #32129

Hi Ilia,

On Sunday 09 September 2007 07:07:37 pm Ilia Alshanetsky wrote:

> List of Feature Ideas
> ----------------------------
>
> 1) Backport the namespaces patch for PHP 6
>
> 1		0		-1

+1

> 2) Symlink the intl extension from PECL, but leave it disabled by
> default as is the case with all extensions dependent on external libs
>
> 1		0		-1

From what I read that extension offers interesting stuff.
+1

> 3) Apply the Late Static Binding Patch
>
> 1		0		-1

0

> 4) Implement David's Circular Garbage collection patch
>
> 1		0		-1

I can see the need for this but would like to see the impacts first. Therefore 
+0.5

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is
> already available)
>
> 1		0		-1

I think this would make sense as long as the patch isn't to messy. (I can't 
remember seeing it)
+/- 0

> 6) Remove safe_mode, register_globals and magic_quotes
>
> 1		0		-1

-1

> 7) Introduce mysqlind library into core and use it as a backend for
> PDO and mysqli extensions (possibly enabling them by default)
>
> 1		0		-1

From what I saw this looks quite good
+1

> 8) OpenID enabling patch for OpenSSL and PHP 5
>
> 1		0		-1

+1

> 9) Add array_replace[_recursive] functions (patch is already available)
>
> 1		0		-1

I can see some use for these functions but we already have that many array 
functions
0
> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
>
> 1		0		-1

0

> 11) Merge the zend_arg_info const'ify patch
>
> 1		0		-1

+1

> 12) Merge the GCC 4 -fvisibility patch
>
> 1		0		-1

0

> 13) Switch for disabling/enabling materialized cursors in mysqli
>
> 1		0		-1

0

> 14) Link phar extension from PECL into core (possibly enabling it by
> default)
>
> 1		0		-1

+1

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
>
> 1		0		-1

+1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?
> "htaccess" style ini file support
>
> 1		0		-1

the ini parsing is a fundamental part of PHP therefore we should really test 
that stuff to catch as many edge-cases as possible but if we test it well:
+1

> 17) Merge __callStatic patch from PHP 6
>
> 1		0		-1

+1

> 18) Introduce concept of "strict classes" that do not permit dynamic
> property creation
>
> 1		0		-1

0

johannes

-- 
Johannes Schlüter
http://schlueters.de

---

## #32147 — Scott MacVicar — 2007-09-09T22:49:09+00:00

URL: https://externals.io/message/32129#32147 · In reply to: #32129

> Its been about a week since RFS for features to go into 5.3 has  
> gone out and while there was not a "flood" of ideas there is a  
> substantial list of key changes people would like to go into this  
> release. I've compiled a list of all of the suggestions I've  
> received, they are listed below in a form that will hopefully make  
> it easy for people to vote their yeys and nays. My hope that we can  
> reach an agreement within 1-2 weeks so 5.3 can be branched and work  
> on it can begin.
>
> List of Feature Ideas
> ----------------------------
>
> 1) Backport the namespaces patch for PHP 6
>
> 1		0		-1

+1

>
> 2) Symlink the intl extension from PECL, but leave it disabled by  
> default as is the case with all extensions dependent on external libs
>
> 1		0		-1

+1, this will be useful for many people but it would need to make a  
lot of progress in a short period of time at least before RC1.

>
> 3) Apply the Late Static Binding Patch
>
> 1		0		-1

+1

>
> 4) Implement David's Circular Garbage collection patch
>
> 1		0		-1

0, I see no problem in adding it but making it an option would be  
desirable depending on the overhead.

>
> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is  
> already available)
>
> 1		0		-1
>

+1, Is this the email I sent you regarding SQLite3? As what I sent  
was a new extension that re-implemented everything as OO, I intend to  
add it to PECL shortly once I've finished a few more things. The API  
for SQLite has changed so much since version 2 that it would require  
a lot of re-engineering to keep it backwards compatible. The  
extension I have is bundled with 3.4.2 but works with the new 3.5.0  
alpha already, I've been using it internally for the past few weeks  
without problem, mainly for the extension support in SQLite3.

> 6) Remove safe_mode, register_globals and magic_quotes
>
> 1		0		-1

+1, The sooner we get rid of this the better, though I could see  
things going wrong if its not properly documented for everyone. I'd  
perhaps not remove the functions such as get_magic_quotes_gpc and the  
likes and just have them acting like they are disabled. This would  
prevent bc breaks for most applications.

>
> 7) Introduce mysqlind library into core and use it as a backend for  
> PDO and mysqli extensions (possibly enabling them by default)
>
> 1		0		-1

+1

>
> 8) OpenID enabling patch for OpenSSL and PHP 5
>
> 1		0		-1
>

0

> 9) Add array_replace[_recursive] functions (patch is already  
> available)
>
> 1		0		-1
>

0

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
>
> 1		0		-1
>

+1

> 11) Merge the zend_arg_info const'ify patch
>
> 1		0		-1
>

+1

> 12) Merge the GCC 4 -fvisibility patch
>
> 1		0		-1
>

0

> 13) Switch for disabling/enabling materialized cursors in mysqli
>
> 1		0		-1
>

0

> 14) Link phar extension from PECL into core (possibly enabling it  
> by default)
>
> 1		0		-1
>

-1

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
>
> 1		0		-1
>

+1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?  
> "htaccess" style ini file support
>
> 1		0		-1
>

+1

> 17) Merge __callStatic patch from PHP 6
>
> 1		0		-1
>

+1

> 18) Introduce concept of "strict classes" that do not permit  
> dynamic property creation
>
> 1		0		-1
>

+1

Scott

---

## #32154 — Lester Caine — 2007-09-10T05:05:09+00:00

URL: https://externals.io/message/32129#32154 · In reply to: #32147

Scott MacVicar wrote:
> > […]
> 
> +1, The sooner we get rid of this the better, though I could see things 
> going wrong if its not properly documented for everyone. I'd perhaps not 
> remove the functions such as get_magic_quotes_gpc and the likes and just 
> have them acting like they are disabled. This would prevent bc breaks 
> for most applications.

Don't forget that the majority of users have yet to move FROM PHP4. So making 
things even more difficult to port over is not a good idea.
I have two legacy sections of code that I STILL have not worked out what is 
stopping me switching off register_globals - code that I inherited from others.

-- 
Lester Caine - G8HFL
-----------------------------
Contact - http://home.lsces.co.uk/lsces/wiki/?page=contact
L.S.Caine Electronic Services - http://home.lsces.co.uk
MEDW - http://home.lsces.co.uk/ModelEngineersDigitalWorkshop/
Firebird - http://www.firebirdsql.org/index.php

---

## #32156 — Larry Garfield — 2007-09-10T05:33:25+00:00

URL: https://externals.io/message/32129#32156 · In reply to: #32154

> Scott MacVicar wrote:
> > […]
>
> Don't forget that the majority of users have yet to move FROM PHP4. So
> making things even more difficult to port over is not a good idea.
> I have two legacy sections of code that I STILL have not worked out what is
> stopping me switching off register_globals - code that I inherited from
> others.

The correct time to break BC is PHP 6.  Shared hosts, what most PHP code ends 
up running on, are very conservative by nature.  They won't upgrade to 
something that has any chance of breaking their customers' code unless they 
really have to.  That means the best way to encourage adoption of new PHP 
versions is to save up BC breaks and do them all at once, so that there's 
only one "speed bump" to get over instead of several.  Such big-BC-breaks are 
known in most circles as "major versions". :-)

However, those settings seem like a text-book case where `E_DEPRECATED` would be 
desirable, as it gives everyone explicit fair warning that those mis-features 
are going away soon.  That should help PHP 6 adoption in the long run rather 
than hinder it.

-- 
Larry Garfield			AIM: LOLG42
larry@garfieldtech.com		ICQ: 6817012

"If nature has made any one thing less susceptible than all others of 
exclusive property, it is the action of the thinking power called an idea, 
which an individual may exclusively possess as long as he keeps it to 
himself; but the moment it is divulged, it forces itself into the possession 
of every one, and the receiver cannot dispossess himself of it."  -- Thomas 
Jefferson

---

## #32157 — Pierre — 2007-09-10T05:35:49+00:00

URL: https://externals.io/message/32129#32157 · In reply to: #32156

> 
> > […]
>
> The correct time to break BC is PHP 6.  Shared hosts, what most PHP code ends

Please don't use this thread to discuss such problems, it is a vote
only thread. Besides a small comment to explain your vote, there is no
need to start again endless discussions here.

Thanks for your understandings,
--Pierre

---

## #32148 — Al Baker — 2007-09-10T05:54:39+00:00

URL: https://externals.io/message/32129#32148 · In reply to: #32129

Comments inline


> Its been about a week since RFS for features to go into 5.3 has gone  
> out and while there was not a "flood" of ideas there is a substantial  
> list of key changes people would like to go into this release. I've  
> compiled a list of all of the suggestions I've received, they are  
> listed below in a form that will hopefully make it easy for people to  
> vote their yeys and nays. My hope that we can reach an agreement  
> within 1-2 weeks so 5.3 can be branched and work on it can begin.
> 
> List of Feature Ideas
> ----------------------------
> 
> 1) Backport the namespaces patch for PHP 6
> 
> 1		0		-1

1

> 
> 2) Symlink the intl extension from PECL, but leave it disabled by  
> default as is the case with all extensions dependent on external libs
> 
> 1		0		-1
> 

0

> 3) Apply the Late Static Binding Patch
> 
> 1		0		-1
> 

0

> 4) Implement David's Circular Garbage collection patch
> 
> 1		0		-1
> 

1

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is  
> already available)
> 
> 1		0		-1
> 

1, but should be anything newer than sqlite-3.4.0.  Versions prior to
that had some issues with concurrency and locking under extreme load

> 6) Remove safe_mode, register_globals and magic_quotes
> 
> 1		0		-1
> 

0

> 7) Introduce mysqlind library into core and use it as a backend for  
> PDO and mysqli extensions (possibly enabling them by default)
> 
> 1		0		-1

1

> 
> 8) OpenID enabling patch for OpenSSL and PHP 5
> 
> 1		0		-1
> 

1

> 9) Add array_replace[_recursive] functions (patch is already available)
> 
> 1		0		-1
> 

0

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
> 
> 1		0		-1
> 

1

> 11) Merge the zend_arg_info const'ify patch
> 
> 1		0		-1
> 

0

> 12) Merge the GCC 4 -fvisibility patch
> 
> 1		0		-1
> 

0

> 13) Switch for disabling/enabling materialized cursors in mysqli
> 
> 1		0		-1
> 

0

> 14) Link phar extension from PECL into core (possibly enabling it by  
> default)
> 
> 1		0		-1
> 

1

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
> 
> 1		0		-1
> 

1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?  
> "htaccess" style ini file support
> 
> 1		0		-1
> 

1

> 17) Merge __callStatic patch from PHP 6
> 
> 1		0		-1
> 

0

> 18) Introduce concept of "strict classes" that do not permit dynamic  
> property creation
> 
> 1		0		-1
> 

1, if you can disable it to have dynamic property creation (a great
feature of PHP in my opinion)

> Ilia Alshanetsky

---

## #32162 — emil.vladev@gmail.com — 2007-09-10T08:38:43+00:00

URL: https://externals.io/message/32129#32162 · In reply to: #32129

Ilia Alshanetsky wrote:
> Its been about a week since RFS for features to go into 5.3 has gone out 
> and while there was not a "flood" of ideas there is a substantial list 
> of key changes people would like to go into this release. I've compiled 
> a list of all of the suggestions I've received, they are listed below in 
> a form that will hopefully make it easy for people to vote their yeys 
> and nays. My hope that we can reach an agreement within 1-2 weeks so 5.3 
> can be branched and work on it can begin.
> 
> List of Feature Ideas
> ----------------------------
> 
> 1) Backport the namespaces patch for PHP 6
> 
> 1        0        -1
> 

+1

> 2) Symlink the intl extension from PECL, but leave it disabled by 
> default as is the case with all extensions dependent on external libs
> 
> 1        0        -1

0

> 
> 3) Apply the Late Static Binding Patch
> 
> 1        0        -1

+1

> 
> 4) Implement David's Circular Garbage collection patch
> 
> 1        0        -1

0

> 
> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is 
> already available)
> 
> 1        0        -1

+1

> 
> 6) Remove safe_mode, register_globals and magic_quotes
> 
> 1        0        -1

-2

> 
> 7) Introduce mysqlind library into core and use it as a backend for PDO 
> and mysqli extensions (possibly enabling them by default)
> 
> 1        0        -1

+1

> 
> 8) OpenID enabling patch for OpenSSL and PHP 5
> 
> 1        0        -1

0

> 
> 9) Add array_replace[_recursive] functions (patch is already available)
> 
> 1        0        -1

+1

> 
> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
> 
> 1        0        -1

+1

> 
> 11) Merge the zend_arg_info const'ify patch
> 
> 1        0        -1

0

> 
> 12) Merge the GCC 4 -fvisibility patch
> 
> 1        0        -1

0

> 
> 13) Switch for disabling/enabling materialized cursors in mysqli
> 
> 1        0        -1

+1

> 
> 14) Link phar extension from PECL into core (possibly enabling it by 
> default)
> 
> 1        0        -1

+1 (Depends how it will cope with namespaces?)

> 
> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
> 
> 1        0        -1

0

> 
> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI? "htaccess" 
> style ini file support
> 
> 1        0        -1

0

> 
> 17) Merge __callStatic patch from PHP 6
> 
> 1        0        -1

+1

> 
> 18) Introduce concept of "strict classes" that do not permit dynamic 
> property creation
> 
> 1        0        -1

0

Regards,
Emil Ivanov

---

## #32164 — Lukas Kahwe Smith — 2007-09-10T08:52:07+00:00

URL: https://externals.io/message/32129#32164 · In reply to: #32142

Stanislav Malyshev wrote:

> > […]
> 
> 0. Why do we *need* it again?

 `E_STRICT` is about general coding style that we feel should be 
encouraged. Its sort of the comp sci teacher in a box.

 `E_DEPRECATED` is things we drop are replace. People that need to retain 
compatibility to earlier minor versions of PHP will likely have to 
ignore these, as often the reason why something was deperecated is that 
we added a new shiny alternative that was not there before.

Without it, we mix 2 different concepts, we also make it needlessly hard 
for library maintainers to leverage E_STRICT. As a result library 
maintainers have the choice of either jumping to every new minor version 
as the minimum requirement or more or less ignoring `E_STRICT` all together.

regards,
Lukas

---

## #32168 — Rob Richards — 2007-09-10T09:30:14+00:00

URL: https://externals.io/message/32129#32168 · In reply to: #32129

> 1) Backport the namespaces patch for PHP 6
0

> 2) Symlink the intl extension from PECL, but leave it disabled by 
> default as is the case with all extensions dependent on external libs
1

> 3) Apply the Late Static Binding Patch
1

> 4) Implement David's Circular Garbage collection patch
0

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is 
> already available)
0

> 6) Remove safe_mode, register_globals and magic_quotes
0

> 7) Introduce mysqlind library into core and use it as a backend for 
> PDO and mysqli extensions (possibly enabling them by default)
1 (not by default)

>
> 8) OpenID enabling patch for OpenSSL and PHP 5
Which one? (from the looks you are refering to Wez's origional) I though 
it was already decided a while back that the patch from Dmitry was going in.

> 9) Add array_replace[_recursive] functions (patch is already available)
0

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 
0

>
> 11) Merge the zend_arg_info const'ify patch
1

> 12) Merge the GCC 4 -fvisibility patch
1

> 13) Switch for disabling/enabling materialized cursors in mysqli
1
>
> 14) Link phar extension from PECL into core (possibly enabling it by 
> default)
0

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch
1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI? 
> "htaccess" style ini file support
0

> 17) Merge __callStatic patch from PHP 6
0

> 18) Introduce concept of "strict classes" that do not permit dynamic 
> property creation
0

Rob

---

## #32169 — Pierre — 2007-09-10T09:55:44+00:00

URL: https://externals.io/message/32129#32169 · In reply to: #32168

Hi Rob,


> > […]
> Which one? (from the looks you are refering to Wez's origional) I though
> it was already decided a while back that the patch from Dmitry was going in.

For what we discussed, Dmitry's version will be applied. It is more complete.

--Pierre

---

## #32171 — Lukas Kahwe Smith — 2007-09-10T10:53:39+00:00

URL: https://externals.io/message/32129#32171 · In reply to: #32129

Ilia Alshanetsky wrote:

> 1) Backport the namespaces patch for PHP 6

+1

> 3) Apply the Late Static Binding Patch

+1

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is 
> already available)

+1

> 6) Remove safe_mode, register_globals and magic_quotes

-1

> 7) Introduce mysqlind library into core and use it as a backend for PDO 
> and mysqli extensions (possibly enabling them by default)

+1 (I assume we will make it easily possible to stick with libmysql if 
the user so chooses)

> 8) OpenID enabling patch for OpenSSL and PHP 5

+1

> 9) Add array_replace[_recursive] functions (patch is already available)

+1 (I agree we have a ton of array methods already, but particularly 
functions that operate recursively over multi dimensional arrays are 
best done in C)

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

+1

> 14) Link phar extension from PECL into core (possibly enabling it by 
> default)

+1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI? "htaccess" 
> style ini file support

+1

> 18) Introduce concept of "strict classes" that do not permit dynamic 
> property creation

+1 (I would like this to be even more expanded in that non strict 
classes would also not be hit with "artificial" fatal errors).

regards,
Lukas

---

## #32173 — Raghubansh — 2007-09-10T11:25:12+00:00

URL: https://externals.io/message/32129#32173 · In reply to: #32129

> 1) Backport the namespaces patch for PHP 6

    1

   > 2) Symlink the intl extension from PECL, but leave it disabled by
    default as is the case with all extensions dependent on external libs

    0

   >  3) Apply the Late Static Binding Patch

    1

   > 4) Implement David's Circular Garbage collection patch

    0

   > 5) Implement Sqlite3 support via the ext/sqlite extension (patch is
    already available)

    0

   > 6) Remove safe_mode, register_globals and magic_quotes

    1 ( as long we allow old codes to functions )

   > 7) Introduce mysqlind library into core and use it as a backend for
    PDO and mysqli extensions (possibly enabling them by default)

    0

   >  8) OpenID enabling patch for OpenSSL and PHP 5

    0
   > 9) Add array_replace[_recursive] functions (patch is already available)

    1

   > 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

     1

   > 11) Merge the zend_arg_info const'ify patch

     0


   > 12) Merge the GCC 4 -fvisibility patch

    0

   > 13) Switch for disabling/enabling materialized cursors in mysqli

    0

   > 14) Link phar extension from PECL into core (possibly enabling it by
    default)

    0

   > 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch

    0

   > 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?
    "htaccess" style ini file support
    0


   > 17) Merge __callStatic patch from PHP 6

    1

   > 18) Introduce concept of "strict classes" that do not permit dynamic
    property creation

    0

---

## #32186 — Marcus Boerger — 2007-09-10T13:08:57+00:00

URL: https://externals.io/message/32129#32186 · In reply to: #32129

Hello Ilia,

Sunday, September 9, 2007, 7:07:37 PM, you wrote:

> 1) Backport the namespaces patch for PHP 6

+1

> 2) Symlink the intl extension from PECL, but leave it disabled by

+1

> 3) Apply the Late Static Binding Patch

+1

> 4) Implement David's Circular Garbage collection patch

+1

> 5) Implement Sqlite3 support via the ext/sqlite extension (patch is  
> already available)

+1

> 6) Remove safe_mode, register_globals and magic_quotes

remove register_globals only, rest for 6.*

> 7) Introduce mysqlind library into core and use it as a backend for  
> PDO and mysqli extensions (possibly enabling them by default)

+1

> 8) OpenID enabling patch for OpenSSL and PHP 5

+1

> 9) Add array_replace[_recursive] functions (patch is already available)

+1

> 10) Split off deprecation from `E_STRICT` into `E_DEPRECATED` 

+1

> 11) Merge the zend_arg_info const'ify patch

+1 (even though it is me who has to do it i guess :-)

> 12) Merge the GCC 4 -fvisibility patch

0

> 13) Switch for disabling/enabling materialized cursors in mysqli

0

> 14) Link phar extension from PECL into core (possibly enabling it by  
> default)

+1

> 15) Merge Matt's ZEND_SIGNED_MULTIPLY_LONG() optimization patch

+1

> 16) Introduce new php.ini files parser/scanner + CGI/FastCGI?  
> "htaccess" style ini file support

+1

> 17) Merge __callStatic patch from PHP 6

+1

> 18) Introduce concept of "strict classes" that do not permit dynamic  
> property creation

0, we could eventually do this via an interface



Best regards,
 Marcus

---

## #32194 — Gregory Beaver — 2007-09-10T17:03:52+00:00

URL: https://externals.io/message/32129#32194 · In reply to: #32162

emo wrote:
> > […]
> 
> +1 (Depends how it will cope with namespaces?)

??

Perhaps you're thinking of different code?  pecl/phar is unaffected by
any changes to the PHP language syntax.  Its sole purpose is to provide
a virtual filesystem within a single file through the phar stream
wrapper and the Phar object.

Greg

---

Next page: https://externals.io/message/32129.md?page=2
