rfc:namespaces-for-internal-classes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
rfc:namespaces-for-internal-classes [2008/06/17 18:18] – Created lstrojnyrfc:namespaces-for-internal-classes [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
-====== Request for Comments: How to write RFCs ====== +====== Request for Comments: Namespaces for internal classes ====== 
-  * Version: 1.0+  * Version: 0.1
   * Date: 2008-03-06   * Date: 2008-03-06
   * Author: Lars Strojny <lstrojny@php.net>   * Author: Lars Strojny <lstrojny@php.net>
Line 39: Line 39:
   * SeekableIterator: Spl::Iterator::Seekable   * SeekableIterator: Spl::Iterator::Seekable
  
-===== Proposal and Patch =====+===== List of renamed classes ===== 
 +==== Array ==== 
 +^ Current name                    ^ New name ^ 
 +| ArrayObject                     | Spl::Array::Object | 
 +| SplFastArray                    | Spl::Array::Fast |
  
-The hardest part of the proposal is to find a way not to break backwards compatibilityThe old names will be present in PHP 5.3 and will be removed in PHP 6.+==== Iterators ==== 
 +^ Current name                    ^ New name ^ 
 +| AppendIterator                  | Spl::Iterator::Append | 
 +| ArrayIterator                   | Spl::Iterator::Array | 
 +| CachingIterator                 | Spl::Iterator::Caching | 
 +| DirectoryIterator               | Spl::Iterator::Directory | 
 +| EmptyIterator                   | Spl::Iterator::Empty | 
 +| FilesystemIterator              | Spl::Iterator::Filesystem | 
 +| FilterIterator                  | Spl::Iterator::Filter | 
 +| GlobIterator                    | Spl::Iterator::Glob | 
 +| InfiniteIterator                | Spl::Iterator::Infinite | 
 +| IteratorIterator                | Spl::Iterator::Iterator | 
 +| LimitIterator                   | Spl::Iterator::Limit | 
 +| RegexIterator                   | Spl::Iterator::Regex | 
 +| SeekableIterator                | Spl::Iterator::Seekable | 
 +| SimpleXMLIterator               | Spl::Iterator::SimpleXML | 
 +| ParentIterator                  | Spl::iterator::Parent | 
 +| NoRewindIterator                | Spl::Iterator::NoRewind | 
 +| OuterIterator                   | Spl::Iterator::Outer | 
 +| RecursiveArrayIterator          | Spl::Iterator::Recursive::Array | 
 +| RecursiveCachingIterator        | Spl::iterator::Recursive::Caching | 
 +| RecursiveDirectoryIterator      | Spl::Iterator::Recursive::Directory | 
 +| RecursiveFilterIterator         | Spl::Iterator::Recursive::Filter | 
 +| RecursiveIterator               | Spl::Iterator::Recursive::Recursive | 
 +| RecursiveIteratorIterator       | Spl::Iterator::Recursive::Iterator | 
 +| RecursiveRegexIterator          | Spl::Iterator::Recursive::Regex | 
 + 
 +==== Lists ==== 
 +^ Current name                    ^ New name ^ 
 +| SplDoublyLinkedList             | Spl::List::DoublyLinked | 
 +| SplQueue                        | Spl::List::Queue | 
 +| SplStack                        | Spl::List::Stack | 
 +| SplHeap                         | Spl::List::Heap | 
 +| SplMinHeap                      | Spl::List::MinHeap | 
 +| SplMaxHeap                      | Spl::List::MaxHeap | 
 +| SplPriorityQueue                | Spl::List::PriorityQueue | 
 +| SplObjectStorage                | Spl::List::ObjectStorage | 
 + 
 +==== Exceptions ==== 
 +^ Current name                    ^ New name ^ 
 +| BadFunctionCallException        | Spl::Exception::BadFunctionCall | 
 +| BadMethodCallException          | Spl::Exception::BadMethodCall | 
 +| DomainException                 | Spl::Exception::Domain | 
 +| InvalidArgumentException        | Spl::Exception::InvalidArgument | 
 +| LengthException                 | Spl::Exception::Length | 
 +| RangeException                  | Spl::Exception::Range | 
 +| RuntimeException                | Spl::Exception::Runtime | 
 +| LogicException                  | Spl::Exception::Logic | 
 +| OutOfBoundsException            | Spl::Exception::OutOfBounds | 
 +| OutOfRangeException             | Spl::Exception::OutOfRange | 
 +| OverflowException               | Spl::Exception::Overflow | 
 +| UnderflowException              | Spl::Exception::UnderflowException | 
 +| UnexpectedValueException        | Spl::Exception::UnexpectedValue | 
 + 
 +==== File related stuff ==== 
 +^ Current name                    ^ New name ^ 
 +| SplFileInfo                     | Spl::File::Info | 
 +| SplFileObject                   | Spl::File::Object | 
 +| SplTempFileObject               | Spl::File::TempFile | 
 + 
 +==== Observer interfaces ==== 
 +^ Current name                    ^ New name ^ 
 +| SplObserver                     | Spl::Observer::Observer | 
 +| SplSubject                      | Spl::Observer::Subject | 
 + 
 +==== Misc ==== 
 +^ Current name                    ^ New name ^ 
 +| Countable                       | Spl::Countable | 
 + 
 +===== Backwards compatibility and other constraints ====== 
 +  * The current names are removed in PHP 6.
 +  * The current names are available as deprecated aliases until their removal 
 +  * The documentation will be updated to advise the usage of the new naming scheme 
 +  * The current classes will trigger an E_DEPRECATED warning hinting the new name
rfc/namespaces-for-internal-classes.1213726703.txt.gz · Last modified: 2017/09/22 13:28 (external edit)