ExtJS extension for Yii Framework


After developing a proof-of-concept, we are planning to develop a fully fledged ExtJS extension for the Yii. The extension will enable developers to declare ExtJS layouts in PHP pages instead of writing JavaScript code. It also provides built-in Ajax functionality to communicate with the backend php controller classes.

My question is: How much would this be of a value to you?

Here is a code snippet to give you guys an idea of what this is about:


/* Yii view containing the view (mvc) */ 

<ext:Panel id="MyPanel" title="Test Panel 1" width="400" height="400">


        <ext:Button id="Button1" text="Click Me">


                <Client:Click handler="alert(sender.text  + ' is clicked!')"/>




        <ext:Button id="Button2" text="Click Me">


                <Server:Click action="site/button2" showMask="true" 

                    maskMessage="Please Wait..."/>








/* controller class (MVC) */

class site extends ExtController


   function button2Action()


     // change button1 server-side

     ExtButton::SetText_OnAjax('button 2 is clicked','button2');




Personally, I’m not planning any Ext-based projects right now, but if I would, ExtController should be handy. Not sure about layouts.

At this moment the ExtController handles Ajax requests coming from the generated ExtJS scripts. It also can be used standalone. The tag-based layout helps to eliminate the writing of JavaScript code.

More on this later :)

I would use it for commercial and open source GPL licensed projects. MIT, BSD, LGPL or similarly licensed projects are a problem though because of the EXT JS dual license.

Our plan is to follow the same license conditions as ExtJS does. (This is still under heavy discussion at our company.)

@CMX - thanks for bringing this to my attention. I think ExtJS is awesome.

@Gevik - Very interesting. The viral nature of the GPL v3 is unattractive to me. The lack of clarity that requires “heavy discussion” makes Ext unattractive to me. When combined, the whole thing is a mess legally and very confusing and unattractive to customers that don’t want to hire an IP attorney to protect themselves. Although it is way cool, as a small time solution provider, I’ve moved on from ExtJS.


Well actually, The ExtJS license is very simple. If you are going to use it commercially, then you just pay for it.

If not, and the application stays within personal use then you don’t have to release the source code. The dual licensing is there for companies that either want support or re-brand ExtJS.

Yes. I recall. Thanks for the clarification.

Now let us discuss your company supporting v X.1 of ExtJS or eventually updating to X.1.1 or X.2 etc, while a client “owns” v X.0. We may be able to upgrade Yii but that would cause problems with your integration due to licensing of ExtJS regardless of the model. Since the licensing is slightly complicated, we’ve created the potential for an eventual backward compatibility problem. This is simply not the case with other JS frameworks with more liberal, or open, licenses that don’t require a “re-purchase” driven solely by a third parties desire to change ExtJS versions inside an integrated platform. (Not saying you would do that - but you must admit the possibility exists).

Hope that clarifies.


So to make sure I stay on topic, here are a couple of questions.

The open source license model of ExtJS is incompatible with Yii.

Q: Is it your intent that this only be used with commercial ExtJS licenses? And will you inform the community of that issue to make sure folks don’t get themselves into trouble?

Q: What will you do to maintain backwards compatibility so that those of us that own commercial licenses of ExtJS don’t have to purchase new licenses if we’ve committed to your integration?



Yes, I understand the issue.

Unless the Yii is changed in license model - that is from BSD to anything else - I dont have to worry about the Yii part.

Now to answer your question.

A: The current plan is to provide the work we (me and two other people) are doing in both commercial and GLP3 form.

Depending on which zipfile you will be downloading from our website, you will get to see the license model for that download. This means that people get to see/read what they are downloading. The GPL3 requires the developers not to use the "framework" commercially.

A:This is actually the discussion we are having at our company. The plans go in the following direction: If you already have a verifiable commercial ExtJS license, then you don’t need to purchase a new one provided your ExrJS version is compatible with our framework. For example if you purchased ExtJS 1.0 a long time ago and never upgraded, then you either need to renew your ExtJS license or get one through us.

I have started twitting the development progress.

You can follow at http://twitter.com/ext4yii

Where do I download?

The product is not ready for downloading yet. This is because I am sorting out the licensing with ExtJS and working on the tutorials and the documentation. Please follow my twitter log for the latest news…

Is there a roadmap for the development? When will your ext. be released? I would be glad to use it in one of our projects! Will you release the source-code?

Thx M

I am wrapping up the first release, If everything goes as planed, I want to release it within two/three weeks.

Please follow the announcements on our Twitter