| Re: [pdt-dev] How to add code-completion for PHP Framework |
|
Hi Roy, i managed to add existing IMethods to the php code assistance using the completionStrategyFactory. However, when adding types to ICompletionReporter using reporter.reportXXX(), the type i'm adding must already exist in the model as far as i've understood. I have a use case, where variables are added to view templates by the framework, using FrameworkController::set('a', 'b'). So basically this would look like this: In the Controller: $myObject = new MyObject(); $this->set('foo', $myObject); In the view file: $ | <-- in this completeion context, there should be a variable $foo $foo-> | << in this context, foo should offer possible completions for the type MyObject. Do i need to add additional ModelElements using some extensionPoint like PHPMixinVisitor during the build, so i can add them later in the completionStrategy for this kind of completion? best -robert On 10/29/2009 6:08 AM, Roy Ganor wrote: Hi Robert, org.eclipse.php.core.completionStrategyFactories and org.eclipse.php.core.completionContextResolvers are good starting points. Roy -----Original Message----- From: pdt-dev-bounces@xxxxxxxxxxx [mailto:pdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Robert Gruendler Sent: Thursday, October 29, 2009 10:58 PM To: pdt-dev@xxxxxxxxxxx Subject: Re: [pdt-dev] How to add code-completion for PHP Framework Hi again, one more question regarding code completion extensions: Some framework classes use "components", which are declared in a class variable, like this: $components = array('Foo', 'Bar'); After declaring those components, the fields 'Foo' and 'Bar', are accessible via $this->Foo and $this->Bar. Any hint which extension point i should use to add those fields to the code completion of classes which declare the $components array ? thanks! -robert On 10/28/2009 7:45 AM, robert@xxxxxxxxxxx wrote:Hi Michael, thanks a lot, this got me started, it's working fine now. best -robert On Wed, 28 Oct 2009 13:08:58 +0200, Michael Spector<spektom@xxxxxxxxx> wrote: |