Yii 1.1.8 PHPフレームワークのリリースがリリースされ、80以上のバグ修正、新機能、改善が含まれています。 バグを報告し、新機能を提案し、yiiframework.ruで
Orphusを
意図した
とおりに使用してくれた人に感謝します。
公式サイトから最新のディストリビューションを入手でき
ます 。
アップグレード手順は
UPGRADEにあります。
通常の変更の完全なリストは
CHANGELOGで読むことができますが、最も興味深いものをすぐに見ていきます。
カスタムURLルールクラス
標準の
CUrlRule
クラスでは処理できないURLの複雑な作業(たとえば、URLの一部がデータベースの値に依存する場合)の場合、URLを処理する独自のクラスを記述し、
CUrlManager
構成で使用できます。
array(
クラス自体は
CBaseUrlRule
から継承され、次のようになります。
class CarUrlRule extends CBaseUrlRule { public $connectionID = 'db'; public function createUrl($manager,$route,$params,$ampersand) { if ($route==='car/index') { if (isset($params['manufacturer'], $params['model'])) return $params['manufacturer'] . '/' . $params['model']; else if (isset($params['manufacturer'])) return $params['manufacturer']; } return false;
改善されたクラスオートローダー
Yiiには既に、必要に応じてそれらを接続するクラスローダーがあります。 現在では、サードパーティのブートローダーと競合せず、それらの前後で実行できます。 以前のバージョンでは、サードパーティのオートローダーの後に常に実行されていたため、Yiiクラスを使用するときに不必要な呼び出しが発生しました。
これで次のことができます。
デフォルトでは、YiiオートローダーはPHPインクルードパスを使用します。 一部のホスティング会社にとって、これは
index.php
わずかに調整することで解決できる問題です。
require('path/to/yii.php');
リアルタイムロギング
一部のコンソールアプリケーションは、非常に長時間実行できます。 アプリケーションが完了するのを待たずに、すぐにログにメッセージを書き込むと便利です。
ARを介してデータベース内のカウンターを処理します
既存の
CActiveRecord::updateCounters()
に似た新しい
saveCounters()
メソッドが
CActiveRecord
クラスに登場しました。 主な違いは、
saveCounters()
は現在のオブジェクトでのみ機能し、
updateCounters()
はテーブル全体で機能することです。
$post = Post::model()->findByPk(1);
翻訳ファイルの生成
yiic message
を使用する場合、古いファイルを削除して、近くで生成された新しいファイルと置き換える必要がありました。 コマンド構成で
overwrite
オプションを
true
に設定すると、すぐに古いファイルに書き込むことができます。
コンソールアプリケーションでURLを作成する
通常、Webアプリケーションは
CUrlManager
を使用してURLを生成しますが、これは以前はコンソールアプリケーションでは使用できませんでした。 これで、Webアプリケーションとコンソールアプリケーションの両方で
Yii::app()->createUrl()
使用できます。これは、たとえばWebアプリケーションのURLをリストするサイトマップを作成するのに非常に便利です。
クリップでオプションを使用できるようになりました
これは、ビュー内のコードが何度も繰り返される場合に便利ですが、別のファイルに移動するほど複雑ではありません。
<?php