1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)
Loading ... Loading ...

Long journey to the framework…

I’m developing web-applications since 2004, I am crazy about nice architecture and first-class CSS+JS frontend. On the server side, I was using my framework, quite basic one. And all my projects were based on it.

In the October 2008 I finished one of my projects using my own framework. Then looked at it critically, then saw description of the Zend Framework (it had so many features, that mine didn’t!), and decided to move from my own development to the better product.

Main requirements to the framework were:

  • 100% OO architecture. I don’t like to work with Drupal or jQuery. I enjoy ExtJS, for example. And I wanted the same nicely designed PHP framework. Nice OOP in PHP began from the PHP5, so all frameworks, that were initially written in PHP4 and not completely rebuilt to PHP 5 are not considered.
  • Component/modular architecture
  • Event-driven programming. I enjoyed this thing in ExtJS and wanted to write PHP code in the similar way
  • Excellent documentation. Again, I compare this to the ExtJS docs, which are VERY nice. So I wanted every little feature explained and documented.
  • Active community. It’s never possible to cover everything in the documentation, so active community is a VERY big plus.

Sure, framework must be free.
Initially, I was choosing between ZendFramework, CodeIgniter, Symfony, CakePHP. However, fully PHP5 are only ZF and Symfony. Yes, I know, that both Cake and CI have PHP5 classes, but they are not designed for PHP5. CI, in particular, states:

Note: CodeIgniter will run on PHP 5. It simply does not take advantage of any native features that are only available in that version.

But neither ZF nor Symfony had event-driven programming, so I found one more framework – PRADO. I liked all it’s features, expecially component approach and event-driven programming, but on the prado forums I found an announcement, that Main team members has developed a completely new framework, that took best things from PRADO, but has significantly better performance. Yes, it’s Yii, the framework of my choice.

OK, I’m here, but what’s that?

From the official site:

The name Yii (pronounced as [i:]) stands for easy, efficient and extensible.

I studied the definitive guide. (By the way, it is now available in 9 languages. Translation is done by the community. German and Russian translations are almost finished, others coming soon)
I immediately liked it’s:

  • 100% OO architecture. It is really good application design.
  • Authentication & roles mechanism
  • Caching techniques
  • DB access, which is based on PDO
  • Active record and relational active record implementation
  • Validation – that is really, really nice. To create quite complex register form (check if login is unique, if email is unique, email match with confirmation, passwords match, validate integer/string values, check empty fields and give nice error messages for each field you need only template (view) and model with rules defined. It took me 10-15 mins to do that!)
  • Component concept. Just to give an idea, why is it nice – you can define getter and setter methods for properties, you can define read-only properties for components, define and invoke events, attach event handlers and additional features to the class without modifying it, just by attaching additional behaviour to it

And, yes, Yii is quite fast. And in combination with it’s advanced caching it can be used for the high-loaded websites, I’m developing one with it now

By the way, Yii is the only PHP framework selected for the Great Indian Development Award voting. I voted for it, maybe you’ll like it also? Try it and vote for it!

I voted for GIDS

P.S. If you’re Russian, join us in the Russian discssion board, I reply all threads there and clarify all questions.

More info

No related posts.

Related posts brought to you by Yet Another Related Posts Plugin.

Share this post with a friend Share this post with a friend

8 Comments

  1. What is a framework and why you should use one? | Programmer's Notes says:

    [...] What framework is “good”? I wrote about this in one of my previous posts where I explained why I chose Yii as a PHP framework for my project. Selecting wrong framework may result in project failure, so please refer to that [...]

  2. Server Blog says:

    Server…

    [...]Yii – the framework of my choice | Programmer's Notes[...]…

  3. 用 Yii 来代替 Drupal 的七个理由 – 沧泽——科技 咨询 传播 says:

    [...] Drupal不是避免重构的最好的方案。Drupal主要卖点是对于开发这来说“为什么还要自造CMS系统?”。就像其他的开发者一样,我已经重构过整个网站(在 1999 和2000), 并且希望可以将专注于网站业务而不是忙于用户认证,从数据验证到防护SQL注入攻击等。我加入的公司在我2007年4月来之前就已经在使用Drupal, 并且我在彻底抛弃它转向Rubyon Rails之前还对Drupal有过期望。Ruby的狂热让我想起1997年的Java狂热。我当时还在 WebEx competitor 当实习生。在997-1999 年,这个公司在硬件和VM都缺乏扩展性的情况下使用了Java进行服务器编程,这直接毁灭了他们的平台。PHP后来在Friendster的重构和Facebook上证明了自己的能力,并且我们的用户也不想再看到失败的大鲸鱼了。所以,很自然地我们从Drupal着手而不是自己一行行地堆砌代码。但是PHP5框架在2008年的时候一窝蜂地涌现出来,并且在2009年进入测试。现在,一个PHP开发者开发一个应用(并且全职工作在这个站点上)的时候,他们可以选择使用一个框架来重构或者使用PHP类库 (PECL 或 PEAR)。 [...]

  4.   Yii — php-фреймворк / 7 причин для перехода с Drupal на Yii by SOS Admin! says:

    [...] фреймворков начатых в 2008 году и прошедших испытания в 2009 году. PHP разработчик, начиная создавать веб-приложение [...]

  5. Yii — php-фреймворк / 7 причин для перехода с Drupal на Yii | What You See Is What You Get says:

    [...] фреймворков начатых в 2008 году и прошедших испытания в 2009 году. PHP разработчик, начиная создавать веб-приложение [...]

  6. 用 Yii 来代替 Drupal 的七个理由 | 岭南六少 - 一朵在LAMP架构下挣扎的云 says:

    [...] Drupal不是避免重构的最好的方案。Drupal主要卖点是对于开发这来说“为什么还要自造CMS系统?”。就像其他的开发者一样,我已经重构过整个网站(在 1999 和2000), 并且希望可以将专注于网站业务而不是忙于用户认证,从数据验证到防护SQL注入攻击等。我加入的公司在我2007年4月来之前就已经在使用Drupal, 并且我在彻底抛弃它转向Rubyon Rails之前还对Drupal有过期望。Ruby的狂热让我想起1997年的Java狂热。我当时还在 WebEx competitor 当实习生。在997-1999 年,这个公司在硬件和VM都缺乏扩展性的情况下使用了Java进行服务器编程,这直接毁灭了他们的平台。PHP后来在Friendster的重构和Facebook上证明了自己的能力,并且我们的用户也不想再看到失败的大鲸鱼了。所以,很自然地我们从Drupal着手而不是自己一行行地堆砌代码。但是PHP5框架在2008年的时候一窝蜂地涌现出来,并且在2009年进入测试。现在,一个PHP开发者开发一个应用(并且全职工作在这个站点上)的时候,他们可以选择使用一个框架来重构或者使用PHP类库 (PECL 或 PEAR)。 [...]

  7. code route says:

    code route…

    [...]Yii – the framework of my choice | Programmer's Notes[...]…

  8. Janay Pruse says:

    I very lucky to find this site on bing, just what I was looking for : D besides saved to my bookmarks .

Leave a Reply