Marcus Boerger
b4dd030782
MFH:
...
- Add SplObjectStorage
- Add RecursiveFilterIterator
- Rename Observer to SplObserver
- Rename Subject to SplSubject
- Move SPL constants to class constants
- Update docu
2005-09-15 03:33:04 +00:00
foobar
23e671a51e
- Bumber up year
2005-08-03 14:08:58 +00:00
Marcus Boerger
0b34e041e3
- Before we later run into BC trouble we split flags into two params mode
...
and flags now before branching for 5.1.
2005-07-28 21:09:02 +00:00
Marcus Boerger
a935b06236
- Fix issues with iterators and excpetions
...
# update documentation
#
# In 5.2 we need to implement an event handler onException() to be invoked
# on exceptions during getChildren() calls. Its default implementation
# would simply rethrow the exception if the flag is not set and delete if
# if it was set. To do so the exceptions refcount needs to be increased
# before calling zend_clear_exception() to keep the exception alive but
# clear the control information.
#
# As a side note this is alos the easy solution to allow multi exception
# handling: Simply clear the engine's exception info and add a property
# called $previousException to the base exception and assign it from the
# already pending one.
2005-07-27 22:19:01 +00:00
Dmitry Stogov
aedbdb087d
Allowed return by refrence from internal functions
2005-06-16 14:56:13 +00:00
Marcus Boerger
626d781afd
- Execute both RecursiveIteratorIterator::beginChildren() and endChildren()
...
on the same level (while the actual child is available).
2005-05-14 16:40:58 +00:00
Marcus Boerger
530917b463
- Make iterator_to_array() accept Traversable
2005-03-31 21:49:47 +00:00
Marcus Boerger
f9de3fd02b
- Allow to hook into RecursiveIteratorIterator's child handling
...
- Better=faster function caching for RecursiveIteratorIterator
- Check for exceptions and fix check for illegal return values
- Add UnexpectedValueException
- Add docu
2005-03-12 23:03:33 +00:00
Marcus Boerger
16f0329a52
- Fix problem with exception in other methods, too
2005-03-06 23:07:43 +00:00
Marcus Boerger
0d1e43711a
- Fix problem with exceptions in hasChildren calls
2005-03-06 22:57:05 +00:00
Marcus Boerger
76c5d53993
- Need to store class entry
2005-03-01 10:05:12 +00:00
Marcus Boerger
5f1c3f4a7e
- Allow to convert traversable into Iterator
2005-02-23 01:03:16 +00:00
Marcus Boerger
3c36e73b95
- bugfix 31348
2005-01-24 20:21:11 +00:00
Antony Dovgal
6528b1b0b4
more typos
2004-12-29 16:11:42 +00:00
Antony Dovgal
0460f73db2
MFB: fix typos
2004-12-29 13:53:40 +00:00
Marcus Boerger
9c0f5e8887
- Use appropriate exception class where possible
2004-11-11 19:36:27 +00:00
Marcus Boerger
5dbb0aaa24
- Drop debug message
2004-11-11 19:31:27 +00:00
Marcus Boerger
31165806f8
- Simplify construction of RecursiveIteratorIterator
2004-11-08 13:44:34 +00:00
Frank M. Kromann
6a15a50d35
oops missed a couple!
...
Add termination block to function table. This will allow the engine to stop registreting functions at the end.
This fixes the - duplicate name - warning
2004-11-03 01:20:16 +00:00
Frank M. Kromann
93da44811e
Add termination block to function table. This will allow the engine to stop registreting functions at the end.
...
This fixes the - duplicate name - warning
2004-11-03 01:16:10 +00:00
Marcus Boerger
e1dfbfc695
- Don't call beginChildren/endChildren if they don't do anything
2004-11-01 23:16:43 +00:00
Marcus Boerger
533e39ecf7
- Cache function lookup
2004-11-01 23:02:10 +00:00
Marcus Boerger
3b7e24cab2
- Add RecursiveIteratorIterator::beginChildren(), endChildren()
2004-11-01 22:54:12 +00:00
Marcus Boerger
2ce7bcd742
- Allow direct access to spl class entries (SPL cannot be build shared)
2004-11-01 20:57:23 +00:00
Marcus Boerger
bd40510b62
- Two new exceptions
...
- Make use of new exception classes
2004-11-01 17:39:59 +00:00
Marcus Boerger
b9470609ad
- Minor fixes
...
- Implement AppendIterator in C
2004-11-01 00:26:59 +00:00
Marcus Boerger
9626e9859a
- Implement EmptyIterator in C
2004-10-31 20:59:39 +00:00
Marcus Boerger
de3a8ea3e1
- Implement InfiniteIterator in C
2004-10-31 19:49:18 +00:00
Marcus Boerger
a872cb0d8d
- Aggregate inner iterator for RecursiveIteratorIterator
2004-10-31 19:05:19 +00:00
Marcus Boerger
90012aa3cc
- Implement classes IteratorIterator and NoRewindIterator in C
2004-10-31 18:43:00 +00:00
Marcus Boerger
861bad634a
- Fix inner iterator aggregation
2004-10-30 19:12:14 +00:00
Marcus Boerger
8bf02ee681
- Fix protos
2004-10-30 10:18:10 +00:00
Marcus Boerger
7c4760d421
- Fix proto
2004-10-30 10:04:37 +00:00
Marcus Boerger
208a97a221
- Implement OuterIterator in C
2004-10-29 20:12:57 +00:00
Marcus Boerger
6349f46e38
- Added iterator_to_array() and iterator_count()
2004-10-07 23:08:19 +00:00
Marcus Boerger
b1326c1c24
- Fix problem when inner constructor isn't called from derived constructor
...
(foound by david)
2004-07-28 22:53:10 +00:00
Zeev Suraski
846c5a252e
Fix typo
2004-05-31 08:58:32 +00:00
Zeev Suraski
e11b518c95
Fix prototype
2004-05-30 17:32:32 +00:00
Marcus Boerger
6882000c53
- Make start and length parameter to Limititerator::__construct optional
2004-05-18 20:39:35 +00:00
Marcus Boerger
a9070ba130
Add protos
2004-05-06 09:01:31 +00:00
Marcus Boerger
11690da164
- Some pretection against out-of-memory situations
2004-04-27 17:12:11 +00:00
Marcus Boerger
7f37b3f651
Fix LimitIterator by using new handler
2004-04-27 15:41:26 +00:00
Marcus Boerger
5b755c40ea
Fix several issues
...
- bugfix #27063
- bugfix #27929
- bugfix #28099
- bugfix #28125
# The amount of code is needed to solve the return by reference problem.
# dual_it and derived also need their own iterator handlers to be able
# to return by reference.
2004-04-25 11:14:11 +00:00
Marcus Boerger
00da44519c
Bugfix #27997
2004-04-14 23:26:56 +00:00
Marcus Boerger
42370213f7
Fix toString() issue again
2004-04-08 22:46:43 +00:00
Marcus Boerger
dce131ebcd
Add agrument type info
2004-03-28 17:04:11 +00:00
Marcus Boerger
851c254ef8
Fix CachingIterator's ability to cache string conversion results.
...
Add a test for that.
2004-03-17 19:58:32 +00:00
Marcus Boerger
426649067c
Make use of zend_make_printable_zval() instead of 'manually' calling
...
__toString().
2004-03-16 10:17:59 +00:00
Marcus Boerger
1b060f3614
Access to inner iterator was missing
2004-03-09 17:35:18 +00:00
Marcus Boerger
50ee116f08
Clearify the different method/class flags (as discussed with Andi).
2004-03-09 16:38:37 +00:00
Marcus Boerger
6b0f57ee50
Rename hasMore() to valid() as discussed. (Part II)
2004-03-08 18:05:41 +00:00
Marcus Boerger
b6b7c9eb65
Rename hasMore() to valid() as discussed. (Part I)
2004-03-08 17:33:31 +00:00
Ard Biesheuvel
81f05c18f5
Wordsize fixes
2004-02-25 20:16:27 +00:00
Zeev Suraski
bec3adb801
Fix signature
...
Marcus - please make sure that this is ok. Generally you are no longer
allowed to override a method and with an incompatible signature
2004-02-25 14:58:47 +00:00
Zeev Suraski
30171a7590
zend_default_classes.h -> zend_exceptions.h
2004-02-12 10:43:27 +00:00
Zeev Suraski
d89b7b23f9
API updates
2004-02-04 12:45:47 +00:00
Marcus Boerger
390ae1a8b8
- Fix second issue with #27042
...
- Little improvement
- Update test
2004-01-28 22:59:03 +00:00
Marcus Boerger
a43693eaf0
Must use zval* here
2004-01-26 23:59:50 +00:00
Marcus Boerger
5ac404eb64
Fixed bug #27042 (SPL: SeekableIterator seek() broken).
2004-01-26 22:30:25 +00:00
Marcus Boerger
3b207ccb12
Add cvs tags
2004-01-20 20:59:45 +00:00
Marcus Boerger
43ee98f9fa
Not needed
2004-01-18 19:17:50 +00:00
Marcus Boerger
0e5b87c5a2
Update copyright
2004-01-08 18:17:39 +00:00
Marcus Boerger
c212ddd5ec
Fix a (single) leak
...
# -> iterators cannot keep current data as zval**, only zval * is possible.
2003-12-10 10:19:43 +00:00
Marcus Boerger
d4a55f1ace
Add missing dtor call.
2003-12-09 19:03:38 +00:00
Marcus Boerger
f3a3990ca8
Implement CahingIterator and CachingRecursiveIterator as C-code.
...
#Script examples/directorytree.php has a few memleaks though but besides
#that all works fine.
2003-12-08 08:39:18 +00:00
Marcus Boerger
7046afb542
Implement SeekableIterator and LimitIterator as C code.
2003-12-06 19:21:02 +00:00
Marcus Boerger
e9f7e14460
Remove debug code
2003-12-02 07:19:31 +00:00
Marcus Boerger
37d7555f98
Add classes from examples: FilterIterator, ParentIterator
2003-12-02 07:18:05 +00:00
Marcus Boerger
bfa36a8ea7
Caanot use REPLACE_ZVAL_VALUE here.
2003-11-29 18:31:24 +00:00
Marcus Boerger
eca139ec52
- rename getLevel() to getDepth()
...
- make parameter to getSubIterator() optinal
- refcount fix
2003-11-22 20:49:15 +00:00
Marcus Boerger
dc42ce8cf2
- Rename DirectoryTreeIterator to RecursiveDirectoryiterator (what it
...
effectively is).
- Add DirectoryIterator::__toString ->getFilename
- Add RecursiveDirecetoryIterator::__toString ->getPathname
- Add RecursiveIteratorIterator::getSubIterator.
2003-11-18 22:14:19 +00:00
Marcus Boerger
54352a63ad
Fix RecursiveIteratorIterator
2003-11-17 00:57:01 +00:00
Marcus Boerger
ab05faf5b1
Implement different recursion modes as statemachine and have an optional
...
parameter to choose the mode in the constructor.
2003-11-11 00:25:26 +00:00
Marcus Boerger
159c538bcf
Major update:
...
- Remove all overloading hooks -> array_read/array_access must be rewritten
- Remove all basic iterators
- Remove all 'spl_' prefixing exposed to user level
- Add RecursiveIterator, RecursiveIteratorIterator
- Add DirectoryIterator, DirectoryTreeIterator
- Add some examples
2003-11-09 14:05:36 +00:00