高性能的PHP5開發框架,Yii Framework 1.1.9 發布了

fmms 12年前發布 | 11K 次閱讀 Yii

Yii是一個高性能的PHP5的web應用程序開發框架。通過一個簡單的命令行工具 yiic 可以快速創建一個web應用程序的代碼框架,開發者可以在生成的代碼框架基礎上添加業務邏輯,以快速完成應用程序的開發。
logo.png

2012年元旦,發布了Yii PHP framework 1.1.9

We are very pleased to announce the immediate availability of Yii Framework version 1.1.9. In this release, we've included nearly 60 enhancements and bug fixes.

For the complete list of changes in this release, please see the change log and important feature additions. And if you plan to upgrade from an older version to 1.1.9, refer to the upgrade instructions.

In the following page, we briefly introduce some of the changes in this release.

More convenient way to define through AR relation

Active Record though option was introduced in 1.1.7 but syntax wasn't convenient so we decided to make it more definitive. Current syntax is the following:

'comments'=>array(self::HAS_MANY,'Comment',array('key1'=>'key2'),'through'=>'posts'),
</div>

In the above array('key1'=>'key2'):

  • key1 is a key defined in relation specified in through (posts is this case).
  • key2 is a key defined in a model relation points to (Comment in this case).

through can be used with both HAS_ONE and HAS_MANY relations.

For more details and examples refer to Relational Query with through.

Scope support for Model::relations()

You can now use scopes when defining AR model relations such as

'recentApprovedComments'=>array(self::BELONGS_TO, 'Post', 'post_id', 
    'scopes' => array('approved', 'recent')),
</div>

In case of a single scope you can specify a single scope with a string instead of array.

Ability to join AR models on a specific keys

It is now possible to build AR relations on PK->FK specified instead of relying on the schema defaults so you can specify AR relation like the following declaration for Day model:

'jobs'=>array(self::HAS_MANY, 'Job', array('date' => 'target_date')),
</div>

In the case above Day can have multiple Jobs but these aren't related usual way. We've specified relation key in form of array('fk'=>'pk'). That means it will generate SQL like

SELECT * FROM day t
JOIN job ON t.date = job.target_date

Ability to override core classes using Yii::$classMap

There was an ability to pre-import classes and use them without explicitly importing or including since 1.1.5. Now using the same technique you can override Yii core classes with your own ones.

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!