mirror of
https://github.com/yiisoft/yii.git
synced 2026-03-04 07:14:06 +01:00
162 lines
5.9 KiB
Plaintext
162 lines
5.9 KiB
Plaintext
|
|
Upgrading Instructions for Yii Framework v1.1.0
|
|
===============================================
|
|
|
|
!!!IMPORTANT!!!
|
|
|
|
The following upgrading instructions are cumulative. That is,
|
|
if you want to upgrade from version A to version C and there is
|
|
version B between A and C, you need to following the instructions
|
|
for both A and B.
|
|
|
|
Upgrading from v1.1rc
|
|
---------------------
|
|
|
|
Upgrading from v1.1b
|
|
--------------------
|
|
|
|
Upgrading from v1.1a
|
|
--------------------
|
|
- CSort::attributes is changed. Now the array keys refer to attribute names
|
|
and array values refer to virtual attribute definitions. Please read the
|
|
API documentation for this property to learn more details. This change will
|
|
affect your code only when you explicitly specify this property.
|
|
|
|
Upgrading from v1.0.x
|
|
---------------------
|
|
- Application and module parameter names are changed to be case-sensitive.
|
|
In 1.0.x, they are case-insensitive.
|
|
|
|
- For tabular input, using Field[$i] is not valid anymore. Attribute names
|
|
should look like [$i]Field in order to support array-typed fields
|
|
(e.g. [$i]Field[$index]).
|
|
|
|
- Please read the Guide for further details on how to upgrade from v1.0.x to v1.1.
|
|
|
|
Upgrading from v1.0.11
|
|
----------------------
|
|
|
|
Upgrading from v1.0.10
|
|
----------------------
|
|
|
|
Upgrading from v1.0.9
|
|
---------------------
|
|
|
|
Upgrading from v1.0.8
|
|
---------------------
|
|
- ActiveRecord lazy loading is changed for optimization purpose. Previously,
|
|
when lazy loading occurs, the related table will be joined with the primary
|
|
table. Now, the related table will be queried without joining the primary table.
|
|
As a result, if you are using lazy loading and the corresponding relation
|
|
declaration includes reference to the primary table, the query will fail.
|
|
To fix this problem, please specify the lazy loading query options with the
|
|
actual primary table column values.
|
|
|
|
Upgrading from v1.0.7
|
|
---------------------
|
|
- A directory imported using Yii::import() will have precedence over
|
|
any existing include paths. For example, if we import 'application.models.*',
|
|
then the corresponding directory will be searched before any other
|
|
existing include paths. This also means, a directory imported later will
|
|
have precedence over directories imported earlier. Previously, this order
|
|
was reversed. This change may affect you if you have several classes with
|
|
the same name and they are imported via different directories. You will need
|
|
to adjust the import order of these directories to make sure your existing
|
|
applications are not broken due to this change.
|
|
|
|
|
|
Upgrading from v1.0.6
|
|
---------------------
|
|
- Default named scope will no longer be applied to INSERT, UPDATE and
|
|
DELETE queries. It is only applied to SELECT queries. You should be aware
|
|
of this change if you override CActiveRecord::defaultScope() in your code.
|
|
|
|
- The signature of CWebUser::logout() is changed. If you override this method,
|
|
you will need to modify your method declaration accordingly.
|
|
|
|
|
|
Upgrading from v1.0.5
|
|
---------------------
|
|
|
|
|
|
Upgrading from v1.0.4
|
|
---------------------
|
|
- CWebUser::checkAccess() takes an additional parameter to allow caching
|
|
the access check results. If you override this method, you will need to
|
|
modify your method declaration accordingly. Because the new parameter will
|
|
enable caching the access check results by default, please double check
|
|
your code containing this method call to make sure the behavior is as expected.
|
|
|
|
- CDateParser has been renamed to CDateTimeParser
|
|
|
|
|
|
Upgrading from v1.0.3
|
|
---------------------
|
|
- The signature of CWebModule::init() is modified. Its parameter is removed.
|
|
If your application uses modules, you have to modify your module class
|
|
files accordingly.
|
|
|
|
|
|
Upgrading from v1.0.2
|
|
---------------------
|
|
- Controllers that are organized in subdirectories are now referenced
|
|
using the ID format "path/to/xyz". Previously it was "path.to.xyz".
|
|
If you use "path.to.xyz" in your application, you have to modify it
|
|
to "path/to/xyz".
|
|
|
|
- CHtml::coreScript() is removed. If you used this in your application,
|
|
please use the following alternative:
|
|
|
|
Yii::app()->clientScript->registerCoreScript($name);
|
|
|
|
|
|
Upgrading from v1.0.1
|
|
---------------------
|
|
- Due to the introduction of the scenario-based massive assignment feature,
|
|
we removed CActiveRecord::protectedAttributes(). Please use safeAttributes()
|
|
to specify which attributes are safe to be massively assigned.
|
|
|
|
For more details about scenario-based assignment and validation,
|
|
please read the following tutorial section:
|
|
|
|
http://www.yiiframework.com/doc/guide/form.model#securing-attribute-assignments
|
|
|
|
- The signature of CModel::validate() has been changed to:
|
|
|
|
CModel::validate($scenario='', $attributes=null)
|
|
|
|
That is, the order of the two parameters has been swapped. If your application
|
|
contains code that invokes the validate() method (of either a CFormModel
|
|
or a CActiveRecord object) with some parameter, please make sure you fix
|
|
the parameter order.
|
|
|
|
- The usage of CActiveRecord::with() and the 'with' option in relations
|
|
has been changed. In order to query child relations, we should specify the 'with'
|
|
parameter/option like the following now:
|
|
|
|
Post::model()->with(array('comments', 'author.profile'))->findAll();
|
|
|
|
Previously, this should be written as:
|
|
|
|
Post::model()->with(array('comments', 'author'=>'profile'))->findAll();
|
|
|
|
If your code does not involve child relations (like 'profile' in the above),
|
|
nothing needs to be changed.
|
|
|
|
This change has been introduced in order to support dynamic relational
|
|
query options. For example, we can specify that comments be sorted in
|
|
descending order (assuming in the relations() method it is specified as
|
|
ascending order):
|
|
|
|
Post::model()->with(array(
|
|
'comments'=>array('order'=>'createTime DESC'),
|
|
'author.profile',
|
|
))->findAll();
|
|
|
|
|
|
Upgrading from v1.0.0
|
|
---------------------
|
|
- An $scenario parameter is added to both CModel::beforeValidate() and afterValidate().
|
|
If you override these methods in your child classes (form models, AR classes),
|
|
make sure you change the method signature accordingly.
|