+++ /dev/null
-For 5.1
-1) enhance XPath functionality
-2) look at auto encoding support for in/output
-3) What DOM object types are really needed (i.e. not currently using DOMString)
+++ /dev/null
-mpz_mul_2exp
-mpz_[ft]div_[qr]_2exp
-
-V 3:
-mpz_nextprime
-mpz_addmul
-mpz_root
-mpz_perfect_power_p
-mpz_lcm
-mpz_si_kronecker
-mpz_kronecker_si
-mpz_remove
-mpz_bin_ui
-mpz_fib_ui
-mpz_cmpabs
-mpz_xor
-mpz_tstbit
-mpz_urandom[bm]
-mpz_fits_slong_p
-mpz_mul_si
-mpz_odd_p
-mpz_even_p
+++ /dev/null
-- Unify __ctor and create functions
-- Document U_* error constants
-- For IntlDateFormatter
--- Accept and produce DateTime objects in 5.3 and 6
--- Create convertor from ICU pattern to PHP pattern
-
+++ /dev/null
-- var_dump support\r
+++ /dev/null
-$Id$
-
-Roadmap for PDO
-
-Core, version 1.1:
-==================
-
- - Add PDO::queryParams(), similar to PDO::query(), but accepts
- an array of parameters as the second argument, pushing the remaining
- args (which are args to setFetchMode()) up by one.
-
- - Separate the handle factory call into two phases:
- - handle creation
- - connecting
-
- This would then allow PDO to call setAttribute()
- for each driver option specified in the constructor.
- Right now, the handling of driver attributes is a bit sloppy.
-
- - Add:
- pdo.max_persistent
- pdo.persistent_timeout
- pdo.ping_interval
-
- with the same meanings as those options from oci8.
-
- - BLOB/CLOB.
- Investigate the various APIs to determine if we can
- transparently map BLOBs and CLOBs as PDO_PARAM_LOB.
- If the API needs hints from the client side, we need
- to introduce a PDO_PARAM_CLOB to differentiate between
- binary and character data.
-
- - Character set selection.
- Generalize/standardize this.
-
- - meta data.
- Formalize getColumnMeta().
- Look at retrieving lists of tables and other objects in the db.
-
- - tracing/logging/debugging
- Add ini options:
-
- pdo.trace_file
- pdo.enable_tracing
-
- And corresponding attributes, ATTR_TRACE_FILE, ATTR_TRACING_ENABLE,
- settable at dbh and stmt levels independently. If set at the dbh level,
- the stmt will inherit its value. If not set explicitly in code, the
- defaults for the dbh will come from the INI settings.
-
- ATTR_TRACE_FILE will accept a string or a stream.
-
- The INI options are useful for administrative tracing/debugging.
- Trace mode will output very verbose info.
-
-
-General DB API Roundup:
-=========
- Consider how the following can be implemented in PDO:
-
- mysqli_change_user(); alters auth credentials on a live connection
- mysqli_info(); info about rows affected by last query
- mysqli_master_query(); force query to run on master
- mysqli_ping(); ping / reconnect
- mysqli_stat(); one line summary of server status
-
- oci_password_change()
-
- Also consider master/slave and/or failover server configuration.
-
-
-Postgres:
-=========
-
- - Real large object support.
- - Someone with more pgsql experience can suggest more features
-
-Oracle:
-=======
-
- - Support for array types and collections.
-
-PDO Session module:
-===================
-
- - Is it worth writing in C?
- Probably not.
-
-
-vim:se et ts=2 sw=2 tw=78:
-
+++ /dev/null
-Version 1.0.0
-
- X make permissions in the lowest bits of flags to simplify using them [Greg]
- X implement ini handler for phar.readonly and phar.require_hash that allows
- enabling it on PHP_INI_ALL if it is disabled in the system, but does not
- allow disabling it if it is enabled in the system [Greg]
- X implement reading in metadata in manifest as <len32><metadata...> [Marcus]
- X implement writing out of metadata to new manifest [Marcus]
- X if SPL is disabled, enable only static methods of class Phar and disable
- class PharFileInfo completely [Marcus]
- X implement in-phar locking, so that a file that is opened for reading can't
- have a handle opened for writing [Marcus/Greg]
- X docs on file format/manifest description [Greg]
- X docs on uses [Greg]
- X stream context for specifying compression of a file [Marcus]
- X stream context for specifying meta-data [Greg]
- X Phar->begin()/Phar->commit() for specifying a new stub to the phar,
- and deferring flush until all modifications are complete [Greg]
- X Phar->getStub() for retrieving the stub of the phar [Marcus]
- X add setUncompressed(), setCompressedGZ() and setCompressedBZ2() to
- PharFileInfo class [Greg]
- X add uncompressAllFiles(), compressAllFilesGZ() and compressAllFilesBZ2()
- to Phar class [Greg]
- X add PharFileInfo::setMetaData($metadata) [Marcus]
- X add PharFileInfo::getMetaData() [Marcus]
- X always throw exceptions from the Phar object, and E_RECOVERABLE_ERROR from
- streams interface [Greg]
- X Phar archive metadata Phar::setMetaData($metadata) Phar::getMetaData()
- [Greg]
- X support rename() in stream wrapper [Greg]
- X update docs to reflect changes in error handling [Greg]
- X fix 011.phpt, 029.phpt for uncaught exceptions causing bad cleanup
- [Marcus/Greg]
-
-Version 1.1.0
-
- X Ability to connect a phar file 'phar://whatever' to a directory. That way
- all access to that phar archive are directed to the extracted directory.
- This allows to have the installed files and the archive keep the same
- includes. [Marcus]
- X add SHA-2 (256, 512) support [Marcus]
- X setSignatureAlgorithm() and Phar::MD5 Phar::SHA1 Phar::SHA256 Phar::SHA512
- Phar::PGP to choose the kind of signature to use (PGP falls back to SHA1)
- [Greg]
-
-Version 1.2.0
-
- X add PharFileInfo::hasMetadata(), PharFileInfo::delMetadata() [Marcus]
- X add Phar::hasMetadata(), Phar::delMetadata() [Marcus]
- X fix Phar::CanWrite() [Marcus]
- X add preliminary phar command (phar.php) [Marcus]
- X add phar command (phar.phar) [Marcus]
- X list all available compression methods using
- Phar::getSupportedCompression() [Marcus]
- X Remove RINIT [Marcus]
-
-Version 1.2.1
-
- X Add Phar::getAlias() [Marcus]
- X Add Phar::setAlias() [Greg]
- X Make -a optional in pack subcommand of phar.phar [Marcus]
- X Make Phar::loadPhar() and Phar::mapPhar() ignore extracted archives
-
-Version 2.0.0
-
- X implement webPhar() rewrite as a callback that returns FALSE to deny
- access, or a string representing a file within the archive to access. If
- unknown, the callback should return the original request uri [Greg]
- X rework filename detection so that alias is always checked first [Greg]
- X make aliases containing '/' or '\' invalid [Greg]
- X implement manual mounting of external phar archives to locations inside a
- phar path, $phar->mount('/path/to/external.phar', 'internal/path');
- this would traverse external.phar's manifest, and add each entry as a
- virtual entry just like automatic mounting of internal phars [Greg]
- X implement manual mounting of external paths to a directory inside a phar
- path. Because the mapping would be to an external directory, write access
- would be allowed always. This allows storing sqlite databases, cache, or
- template files in a location external to the phar. Copy of the files
- would need to be performed in an installation step, phar would not attempt
- to do this for performance and security reasons. [Greg]
- X implement opendir support for mounted paths [Greg]
- X make convertToZip/convertToTar rename files [Steph]
- X make convertTo*() with full file compression rename to append .gz or .bz2
- [Steph]
- X don't automatically add a stub to .zip or .tar files [Steph]
- X don't allow a stub or alias to be added to a .zip/.tar that does not have
- ".phar" in the filename (or already have stub/alias) [Steph]
- X allow read/write on .tar/.zip files that do not contain a stub or alias [Steph/Greg]
- X prevent manual addition of stub via $a['.phar/stub.php'] = '<?php my stub'; [Greg]
- X investigate potential collision between SPL's DirectoryIterator flags and
- those in phar_archive_data [Steph]
- X compression should work for non-phar archives [Steph]
- X implement initial support for simple zip/tar archives (PharData) [Steph]
- X make createDefaultStub() setDefaultStub() and have it file format-specific
- [Steph]
- X convertTo*() should always use the default stub [Steph]
- X ability to store empty directories [Greg]
- X tar support [Greg]
- X zip support [Greg]
- X Phar::copy($from, $to); [Greg]
- X Phar::delete($what) [Greg]
- X Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
- X Layout: Option to compress all content rather than single files. (tar/phar
- only) [Greg]
- X clean crap paths like phar://blah.phar/file//../to\\here.php [Greg]
-
-Version 2.1.0
- * implement write support for mounted files even if phar.readonly=1
- * implement automatic "mounting" of internal phar archives so that
- phar:///path/to/archive.phar/internal.phar/file opens internal.phar and
- maps its manifest inside archive.phar. The manifest entry inside
- archive.phar would be named "internal.phar/file". Write access to internal
- files inside an internal phar would be denied, as the entire archive must
- be added or removed at the same time.
+++ /dev/null
-General
--------
-- make sure soapserver.map(), soap_encode_to_xml() and soap_encode_to_zval() are really need
-- reimplement SoapObject::__getfunctions() and SoapObject::__gettypes()
- to return structures instead of strings
-- error handling???
-
-SOAP
-----
-- SOAP routing
-- root attribute (it is defined by SOAP 1.1, but not SOAP 1.2)
-- make sure soap 1.1 and 1.2 are supported fully
-
-Encoding
---------
-? full support for standard simple types (
- ? language, (pattern: "[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*")
- ? NMTOKEN, (pattern: "\c+") (\c: [a-zA-Z0-9.\-_:])
- ? NMTOKENS, (list: NMTOKEN, minLength: 1)
- ? Name, (pattern: "\i\c*") (\i: [a-zA-Z_:]
- ? NCName, (pattern: "[\i-[:]][\c-[:]]*")
- ? ID, (base: NCName)
- ? IDREF, (base: NCName)
- ? IDREFS, (list: IDREF; minLength: 1)
- ? ENTITY, (base: NCName)
- ? ENTITIES, (list: ENTITY; minLength: 1)
- ? duration)
-? full support for standard date/time types (
- ? dateTime,
- ? time,
- ? date,
- ? gYearMonth,
- ? gYear,
- ? gMonthDay,
- ? gDay,
- ? gMonth)
-? full support for arrays
- - SOAP 1.1 encoding of arrays with holes (partially transmitted and sparse arrays)
- SOAP 1.2 doesn't support partially transmitted and sparse arrays
-- references to external resources
-? support for "nillable" and "nil"
-? default values of <element>
-? provide schema 1999/2001 support???
-? make internal references for soap encoding (use serialization logic)???
-? provide user space overriding of serialization certin objects and types???
-
-WSDL
-----
-? server part support for "document" style encoding
-? support for <fault>, <soap:fault>
-? <soap:headerfault>
-- <soap:body> parts attribute (with MIME/DIME binding)
-- MIME binding
-- DIME binding
-- support for portType/operation parameterOrder attribute
-- support for binding operation input/output name attribute (part of overloading)
-- function/method overloading/redeclaration (test(int); test(string))
-- wsdl auto generation
-- HTTP GET/POST binding
-- SOAP security extension
-
-Schema
-------
-- <redefine>
-? support for user defined simple types
- ? restiction
- ? enumeration
- ? length (for string, anyURI, hexBinary, base64Binary and derived) list???
- ? minLength (for string, hexBinary, base64Binary and derived) list???
- ? maxLength (for string, hexBinary, base64Binary and derived) list???
- + whiteSpace (preserve, replace [#x9,#xA,#xD=>#x20], collapse [replace+?])
- - pattern
- - minExclusive (for numeric, date types)
- - minInclusive (for numeric, date types)
- - maxExclusive (for numeric, date types)
- - maxInclusive (for numeric, date types)
- - totalDigits (for decimal)
- - fractionDigits (for decimal)
- ? union
-? support for user defined complex types
- ? full support for content model encoding/decoding
- - <any>
- - <anyAttribute>
-
-Transport
----------
-? HTTP status codes
-? HTTP chunked Transfer-Encoding
-? support for HTTP compression (gzip,x-gzip,defalte)
-- transport abstraction layer???
-
-Interop Testing
----------------
-- more interop rounds/groups
-
-UDDI
-----
-- ???
+++ /dev/null
-TODO:
-make sure soap 1.1 and 1.2 is supported fully
-Better WSDL support Client and server (how much validation is needed here?)
-UDDI??
-make internal references for soap encoding (use serialization logic)
-add ini option for always soap_error_handler
-provide user space overriding of serialization certin objects and types
-serialization in general needs to be polished/finished... all xsd types
-look to see if php-soap will work with out always_populate_raw_post_data on
-see if client will work with ssl.. should be eaiser with php_streams
-work on soap serializer (php serialization)
--work on a soap-service 'regiestry' and 'proxy' (apache soap style)
--convert all string mainpulation to use smart_str
-make the 'soap' packet abstract.. maybe incorperate xml-rpc
-make the transport layer abstract.. what other transport layers are needed?... who uses smtp? what about jabber?
-make $soap_object->data = 'text'; maybe invoke a set_*() and/or get_*() method
-when using wsdls and function names are similar find the best match
- void test(int);
- void test(string);
- maybe use the same alogrithim as ext/java.
-investigate further http keep_alive... initial testing proved slower.. maybe php_streams will speed things up..
-provide schema 1999/2001 support....
-through memory leak testing
-possible using shared memory for sdl caching...
-api for clearing/checking sdl caching...
-make php-soap work as a standalone server using php_streams and the new socket extension
-http authication
-proxy support
-wsdl generation static and auto (.net style (http://server.com/soapserver.php?WSDL)) using phpdoc parsing engine
-interpo testing...
-BENCHMARKING...... lets prove how fast it is.
-do some more work on website
-
-does this list stop... what exactly have i done?
-im sure im forgetting 20 thousand more things....
-
-
- - brad
+++ /dev/null
-This is the ToDo of ext/spl:
-
-Implement the classes/interfaces from the .inc files in
-directory examples.
\ No newline at end of file
+++ /dev/null
-- Implement functions to support PHP 4
-
-- Refactor internals once libxml 2.6.x is minimum requirement for PHP 5
- use new api for creating the xmlTextReaderPtr
-
-- Add Custom Error Handling
-
-
+++ /dev/null
-- Fix up config file for PHP 7 to use libxml extension configuration
-- Add tests for Namespace functions/methods
-- Sync with xmlwriter (new dtd func?)
-- Write documentations in docbook
-
+++ /dev/null
-- add pattern support to extract or add files
-- stream to add or modify entries
-- crypt support for zip (read and write)
-- Iterators