[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [pdt-dev] code assist development

One small thing that comes to my mind is that it should be re-used by others so everyone can re-run it later on when further releases of PHP are released.

Thanks for helping out,
-----Original Message-----
From: pdt-dev-bounces@xxxxxxxxxxx [mailto:pdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Philip Olson
Sent: Wednesday, October 21, 2009 5:21 PM
To: PDT Developers
Cc: Moacir de Oliveira Miranda Júnior
Subject: Re: [pdt-dev] code assist development

On Oct 19, 2009, at 9:04 AM, Michael Spector wrote:

> Hi Philip,
> We do a real black magic, when generating stubs for all native PHP  
> elements.
> First of all, we use reflection mechanism for building a multi-array  
> of all existing elements. Then we refer to the PHPDoc for the  
> documentation on elements that were found. The problems that we run  
> into are usually:
> 1. Reflection doesn't contain needed information (class properties,  
> namespaces, etc...)
> 2. PHPDoc XML is not standard in many cases (constant values, etc...)
> 3. Missing PHPDoc :)
> You can look at this script for better understanding of what's  
> happening: http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.pdt/plugins/org.eclipse.php.core/Resources/language/generate.php?root=Tools_Project&view=markup

Greetings Michael,

We're looking now, and hope to offer tools to make this easier fairly  
soon. There are a few headaches like dealing with functions that are  
both OOP and procedural, and a few others, but overall I think we can  
provide a cleaner solution that parses generated XML as to not worry  
about entity replacements. Moacir has been working on an IDE package  
for PhD. Our build system is named PhD, the system that turns DocBook  
into magic.

What is your policy regarding which extensions get included? It  
appears to be "all that we can possibly find" which is understandable  
but maybe an official policy exists.

And while running generate.php I stumbled upon a bug in PHP. The  
get_defined_constants(true) internal constants are labeled as 'Core'  
instead of 'internal' in PHP 5.3.0. And while some feel 'Core' is  
better (more consistent, like with Reflection), it appears it'll be  
changed back to 'internal' so anyway that's that.


pdt-dev mailing list