You forgot these:
    
      
http://bugs.php.net/search.php?search_for=&boolean=0&limit=All&order_by=id&direction=DESC&cmd=display&status=Open&php_os=&phpver=5&assign=&author_email=&bug_age=0

    --Jani
    

On Sun, 20 Jul 2003, Marcus Bö rger wrote:

>Hello everyone,
>
>here is an updated list of things we need to do/discuss before beta 2.
>
>
>High priority:
>
>- Completely force a derived class now to implement the same amount of 
>  parameters with the same typehints as the inherited one. When it comes
>  to typehints theory allows to provide same or parent types but that would
>  be much harder to implement so only allowing the same type is just easier.
>
>  We also don't have a way to specify typehints and param amount for functions
>  declared at c-level. Further more we are not able to specify access type of
>  a method declared at c-level (static/public/protected/private/final).
>
>- Complete work on exceptions and find a solution on when to throw exceptions
>  and when to use errors.
>
>  I still do not see any BC problems with making try/catch blocks to convert 
>  E_WARING, E_NOTICE & E_ERROR to exceptions (assumed the problemntaic E_ERRORS
>  are changed to E_CORE or such). Why no BC? Simply becuase using try/catch 
>  with old libs and relying on error capturing is an antilogy in itself.
>  Especially when thinking about the very limited capabilities in handling 
>  errors the old way.
>
>  Add an opcode to be able to see whether a try/catch is active. This could
>  possibly also allow to check which exceptions will get catched. Having this 
>  we could finally convert uncaught exceptions to errors.
>  
>  Discuss about adding 'thorws' to a method declaration and a flag for c-level
>  functions so that the compiler can emit an error when such a method is used 
>  without try/catch.
>
>- Discuss the package proposal and whether we want it or not. We saw that 
>  namespaces didn't really fit in our needs and that they are very problematic.
>  To tell the truth some here are sure they can't be implemented correct at 
>  all. The ones thinking they could be done obviosly had another idea of them.
>  So let us not make the same mistake again and instead make sure we are all 
>  talking about the same thing in the same language.
>
>- Add a third shutdown phase which can be used by extensions like ext/session
>  to do work that must be done before objects and globals get destroyed. Also
>  ensure that variable destrcution is done in two steps first all objects then 
>  the globals because an object may rely on a global var (yes ppl will do so).
>
>- Plug some memleaks.
>
>
>
>
>Easy (patch ready):
>
>- Array and resource type hinting (patch at least for arrays is ready 
>  and resources can easily be affed).
>
>- Include SPL forach hooking into the engine. 
>  Renaming the files to 'Zend_whatever' doesn't really make a difference.
>  Maybe the patch is a bit lengthy but the biggest part of it is a function
>  that allows to very effectively call methods - pretty much faster then the
>  current solution. So it would also speed up other things.
>
>
>
>
>More things to do:
>
>- Include SPL array hooking into the engine (?!?)
>
>  The current array hooking implementation doesn't allow user defined objects
>  to hook into array overloading with methods like the flexible solutions spl
>  provides. Do we still want this a language feature or as a non default option
>  provided via an extension?
>  
>  Maybe the the cleanest way would be to directly hook into the engine's array
>  overloading facilities and check whether a certain interface is implemented 
>  and then call the methods of that interface instead of using the default 
>  implementation.
>  
>- Array overloading misses support for 'unset($obj[$idx]);'
>
>- Typehinting with '= NULL' to allow NULL values as discussed
>
>- Typehinting for return values? This may be useful especially when working
>  with interfaces.
>
>- Most parts of the language are case insensitive, however some parts are
>  not. For instance __construct, __clone,...
>
>- Move snprintf.c/spprintf.c into the engine.
>
>- Fix static class members. If they are public they need to be accessible from
>  outside the class. If they have an initial value this value should be used
>  and the keyword var should be working as well.
>  php -r 'class t { static public $p = "x";}; $t = new t; var_dump($t->p);'
>  php -r 'class t { static var $p = "x";}; $t = new t; var_dump($t->p);'
>  php -r 'class t { static public $p = "x";}; echo $t::p;'
>  To make this clear: $t->p would add a dynamic propery to instance t while we
>  want to access the static property p which can only be achieved by a 
>  different notation which should be <class>'::'<static_member>.
>
>- Add support for 'this::<method>()', 'this::<property>' and 'new this()' 
>  inside static methods.
>
>- Add __sleep(), __wakeup() as object handlers.
>
>  
>
>Best regards,
> Marcus                          mailto:[EMAIL PROTECTED]
>
>
>

-- 
https://www.paypal.com/xclick/[EMAIL PROTECTED]&no_note=1&tax=0&currency_code=EUR
 


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to