Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:28746 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 7333 invoked by uid 1010); 12 Apr 2007 14:37:45 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 7274 invoked from network); 12 Apr 2007 14:37:45 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 12 Apr 2007 14:37:45 -0000 Authentication-Results: pb1.pair.com smtp.mail=mls@pooteeweet.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=mls@pooteeweet.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain pooteeweet.org from 212.112.227.169 cause and error) X-PHP-List-Original-Sender: mls@pooteeweet.org X-Host-Fingerprint: 212.112.227.169 ipx11223.ipxserver.de Linux 2.5 (sometimes 2.4) (4) Received: from [212.112.227.169] ([212.112.227.169:45305] helo=ipx11223.ipxserver.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E6/21-43628-2344E164 for ; Thu, 12 Apr 2007 10:37:40 -0400 Received: from localhost (localhost [127.0.0.1]) by ipx11223.ipxserver.de (Postfix) with ESMTP id 500F9A5800B for ; Thu, 12 Apr 2007 16:37:34 +0200 (CEST) Received: from ipx11223.ipxserver.de ([127.0.0.1]) by localhost (flottensignalgeber [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 04532-10 for ; Thu, 12 Apr 2007 16:37:31 +0200 (CEST) Received: from [127.0.0.1] (234.24.3.213.fix.bluewin.ch [213.3.24.234]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ipx11223.ipxserver.de (Postfix) with ESMTP id 6F4B8DF010A for ; Thu, 12 Apr 2007 16:37:31 +0200 (CEST) Message-ID: <461E4437.2090105@pooteeweet.org> Date: Thu, 12 Apr 2007 16:37:43 +0200 User-Agent: Thunderbird 1.5.0.10 (Windows/20070221) MIME-Version: 1.0 To: internals@lists.php.net Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by somedaemon at backendmedia.com Subject: PHP6 todo list From: mls@pooteeweet.org (Lukas Kahwe Smith) Hi, Going over the todo list I wanted to bring up a few topics once again for review/discussion (not flaming): http://oss.backendmedia.com/PhP60 # Unicode 3. remove old parameter parsing API and replace with one that supports unicode related functionality I just want to remind that when we made some changes to the parameter parsing API's last time it created some BC issues (like with array_merge() ..) 5. add unicode to pdo (wez) Maybe one place where IBM could step up, seeing that they are putting a lot of resources into their PDO drivers. # cleanups 4. safe_mode/open_basedir 1. remove safe mode and throw E_CORE_ERROR when set 2. unbundle safe_mode_exec_dir from safe_mode and keep it (rasmus) (take a look at this patch too) 3. new ini option: open_basedir_for_include which would allow using include/require(_once) on an expanded set of directories (sara) Whats the state here. I remember that there was still a fair bit of back and forth on this point. 9. remove zend.ze1_compatibility mode and throw E_CORE_ERROR when set DONE (dmitry) Same here. Gone for good? # PECL 3. regexp 1. make ereg an extension 2. PCRE extension will not be allowed to be disabled. 3. core of PHP should be made to work with PCRE so that we can safely disable ereg 4. unbundle the regex library We had a short discussion on this one not too long ago. 5. move mime_magic from the core to PECL 6. fileinfo 1. move the Fileinfo extension to the core, and enable it by default. 2. Fileinfo extension should be updated to only load its database once on MINIT. Didn't we fast track these two to 5.x? 7. ext/soap 1. ext/soap will be turned on by default 2. implement some of the security extensions to ext/soap 3. watch axis2 based implementation development I am guessing the security stuff could take a bit to implement. Does anyone feel "responsible" for this item? Engine additions 2. add a new 64bit integer that is always 64bits regardless of platform with the cast name for this new type is (int64) and internally we use IS_INT64 and RETURN_INT64 etc.. Are we still on track with this one? 4. add an ifsetor() construct with the middle value for the ?: ternary operator dropped Kinda scared to mention this one. Me want very much though :) 6. speed up @-operator and ask andi for approval (ilia, marcus) 7. add ability to allocate persistent zvals in PHP. 8. add ZEND_ACC_READONLY (marcus) Just bringing those 3 up as a reminder. It sounds like 6. is done and just needs a nod? 7. needs someone breaking some brain cycles over and 8. is probably trivial to do ..? # OO changes 3. object casting to primitive types BC mess (derick) Derick could you elaborate on this one? 5. fix __toString() DONE (marcus) Didn't we fix this one in 5.x already? 6. add internal flag only to force calling of the parent constructor I guess we have something like this in PDO already. Personally I think we should have rather promoted the "factories" pattern for extensions as well. But if we have it for internals stuff, why not also for userland? 7. re-use the "static::" keyword to do runtime evaluation of statics. This is one of the most wanted features going from user feedback. 8. add namespace support (marcus, jessie) This topic still alive? 9. add support for type-hinted return values. Seems like quite a big feature in terms of changing PHP, but could be quite a nice feature for stuff like soap wsdl generation (though here we can always fallback on phpdoc parsing). # Other Additions/Changes 2. APC 1. include APC in the core distributions (turned off by default) and switch to mmap as default shared memory storage. 2. ability to move autoloaded main classes in apc's class lookup preventing the overhead of doing the inheritance process all the time. (marcus) Are we still on track with this one? I remember that Zeev said he was generally ok with this one, but wanted to ponder it some more. 3. include the patch' real-path fix from hardended php Wasn't this done already in 5.x? 4. include the protection against HTTP Response Splitting attacks (header() shouldn't accept multiple headers in one call) from hardended php Wasn't this done already in 5.x? 5. split allow_url_fopen into two distinct settings: allow_url_fopen and allow_url_include. If allow_url_fopen is off, then allow_url_include will be off too. 6. enable allow_url_fopen by default 7. disable allow_url_include by default Is this still going to happen? 8. add sand boxing if we have a rock solid implementation (sara) Sara, just making sure you are allocating brain cycles for this on a daily basis ;) 9. go over the engine and extensions and make sure only E_ERROR is used where the engine is in an unrecoverable state. Hmm, this sounds like a nice one to get your feet wet in internals development. Hope I have time to finish Sara's book on my USA trip that lasts until end of May. 11. kill "<%" but keep "