Browse Source

Merge pull request #435 from ploaiza/patch-1

Fixed some wording
tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
647a158763
  1. 32
      docs/guide/upgrade-from-v1.md

32
docs/guide/upgrade-from-v1.md

@ -13,7 +13,7 @@ The most obvious change in Yii 2.0 is the use of namespaces. Almost every core c
is namespaced, e.g., `yii\web\Request`. The "C" prefix is no longer used in class names. is namespaced, e.g., `yii\web\Request`. The "C" prefix is no longer used in class names.
The naming of the namespaces follows the directory structure. For example, `yii\web\Request` The naming of the namespaces follows the directory structure. For example, `yii\web\Request`
indicates the corresponding class file is `web/Request.php` under the Yii framework folder. indicates the corresponding class file is `web/Request.php` under the Yii framework folder.
You can use any core class without explicitly include that class file, thanks to the Yii You can use any core class without explicitly including that class file, thanks to the Yii
class loader. class loader.
@ -117,17 +117,17 @@ supported in most places in the Yii core code. For example, `FileCache::cachePat
both a path alias and a normal directory path. both a path alias and a normal directory path.
Path alias is also closely related with class namespaces. It is recommended that a path Path alias is also closely related with class namespaces. It is recommended that a path
alias defined for each root namespace so that you can use Yii class autoloader without alias be defined for each root namespace so that you can use Yii the class autoloader without
any further configuration. For example, because `@yii` refers to the Yii installation directory, any further configuration. For example, because `@yii` refers to the Yii installation directory,
a class like `yii\web\Request` can be autoloaded by Yii. If you use a third party library a class like `yii\web\Request` can be autoloaded by Yii. If you use a third party library
such as Zend Framework, you may define a path alias `@Zend` which refers to its installation directory. such as Zend Framework, you may define a path alias `@Zend` which refers to its installation
And Yii will be able to autoload any class in this library. directory and Yii will be able to autoload any class in this library.
View View
---- ----
Yii 2.0 introduces a `View` class to represent the view part in the MVC pattern. Yii 2.0 introduces a `View` class to represent the view part of the MVC pattern.
It can be configured globally through the "view" application component. It is also It can be configured globally through the "view" application component. It is also
accessible in any view file via `$this`. This is one of the biggest changes compared to 1.1: accessible in any view file via `$this`. This is one of the biggest changes compared to 1.1:
**`$this` in a view file no longer refers to the controller or widget object.** **`$this` in a view file no longer refers to the controller or widget object.**
@ -159,7 +159,7 @@ extension for your Smarty views, or `twig` for Twig views. You may also configur
Models Models
------ ------
A model is now associated with a form name returned its `formName()` method. This is A model is now associated with a form name returned by its `formName()` method. This is
mainly used when using HTML forms to collect user inputs for a model. Previously in 1.1, mainly used when using HTML forms to collect user inputs for a model. Previously in 1.1,
this is usually hardcoded as the class name of the model. this is usually hardcoded as the class name of the model.
@ -235,7 +235,7 @@ Previously in 1.1, you would have to enter the widget class names as strings via
Themes Themes
------ ------
Theme works completely different in 2.0. It is now based on a path map to "translate" a source Themes work completely different in 2.0. They are now based on a path map to "translate" a source
view into a themed view. For example, if the path map for a theme is view into a themed view. For example, if the path map for a theme is
`array('/www/views' => '/www/themes/basic')`, then the themed version for a view file `array('/www/views' => '/www/themes/basic')`, then the themed version for a view file
`/www/views/site/index.php` will be `/www/themes/basic/site/index.php`. `/www/views/site/index.php` will be `/www/themes/basic/site/index.php`.
@ -250,7 +250,7 @@ application component.
Console Applications Console Applications
-------------------- --------------------
Console applications are now composed by controllers, too, like Web applications. In fact, Console applications are now composed by controllers, like Web applications. In fact,
console controllers and Web controllers share the same base controller class. console controllers and Web controllers share the same base controller class.
Each console controller is like `CConsoleCommand` in 1.1. It consists of one or several Each console controller is like `CConsoleCommand` in 1.1. It consists of one or several
@ -300,7 +300,7 @@ public function behaviors()
Assets Assets
------ ------
Yii 2.0 introduces a new concept called *asset bundle*. It is a bit similar to script Yii 2.0 introduces a new concept called *asset bundle*. It is similar to script
packages (managed by `CClientScript`) in 1.1, but with better support. packages (managed by `CClientScript`) in 1.1, but with better support.
An asset bundle is a collection of asset files (e.g. JavaScript files, CSS files, image files, etc.) An asset bundle is a collection of asset files (e.g. JavaScript files, CSS files, image files, etc.)
@ -315,7 +315,7 @@ Static Helpers
Yii 2.0 introduces many commonly used static helper classes, such as `Html`, `ArrayHelper`, Yii 2.0 introduces many commonly used static helper classes, such as `Html`, `ArrayHelper`,
`StringHelper`. These classes are designed to be easily extended. Note that static classes `StringHelper`. These classes are designed to be easily extended. Note that static classes
are usually hard to be extended because of the fixed class name references. But Yii 2.0 are usually hard to extend because of the fixed class name references. But Yii 2.0
introduces the class map (via `Yii::$classMap`) to overcome this difficulty. introduces the class map (via `Yii::$classMap`) to overcome this difficulty.
@ -343,7 +343,7 @@ Query Builder
In 1.1, query building is scattered among several classes, including `CDbCommand`, In 1.1, query building is scattered among several classes, including `CDbCommand`,
`CDbCriteria`, and `CDbCommandBuilder`. Yii 2.0 uses `Query` to represent a DB query `CDbCriteria`, and `CDbCommandBuilder`. Yii 2.0 uses `Query` to represent a DB query
and `QueryBuilder` to generate SQL statements from query objects. For example, and `QueryBuilder` to generate SQL statements from query objects. For example:
```php ```php
$query = new \yii\db\Query; $query = new \yii\db\Query;
@ -365,7 +365,7 @@ ActiveRecord
------------ ------------
ActiveRecord has undergone significant changes in Yii 2.0. The most important one ActiveRecord has undergone significant changes in Yii 2.0. The most important one
is about relational ActiveRecord query. In 1.1, you have to declare the relations is the relational ActiveRecord query. In 1.1, you have to declare the relations
in the `relations()` method. In 2.0, this is done via getter methods that return in the `relations()` method. In 2.0, this is done via getter methods that return
an `ActiveQuery` object. For example, the following method declares an "orders" relation: an `ActiveQuery` object. For example, the following method declares an "orders" relation:
@ -392,7 +392,7 @@ by filtering with the primary keys of the primary records.
Yii 2.0 no longer uses the `model()` method when performing queries. Instead, you Yii 2.0 no longer uses the `model()` method when performing queries. Instead, you
use the `find()` method like the following: use the `find()` method:
```php ```php
// to retrieve all *active* customers and order them by their ID: // to retrieve all *active* customers and order them by their ID:
@ -410,14 +410,14 @@ Therefore, you can use all query methods of `Query`.
Instead of returning ActiveRecord objects, you may call `ActiveQuery::asArray()` to Instead of returning ActiveRecord objects, you may call `ActiveQuery::asArray()` to
return results in terms of arrays. This is more efficient and is especially useful return results in terms of arrays. This is more efficient and is especially useful
when you need to return large number of records. For example, when you need to return a large number of records:
```php ```php
$customers = Customer::find()->asArray()->all(); $customers = Customer::find()->asArray()->all();
``` ```
By default, ActiveRecord now only saves dirty attributes. In 1.1, all attributes By default, ActiveRecord now only saves dirty attributes. In 1.1, all attributes
would be saved to database when you call `save()`, regardless they are changed or not, are saved to database when you call `save()`, regardless of having changed or not,
unless you explicitly list the attributes to save. unless you explicitly list the attributes to save.
@ -427,7 +427,7 @@ Auto-quoting Table and Column Names
Yii 2.0 supports automatic quoting of database table and column names. A name enclosed Yii 2.0 supports automatic quoting of database table and column names. A name enclosed
within double curly brackets is treated as a table name, and a name enclosed within within double curly brackets is treated as a table name, and a name enclosed within
double square brackets is treated as a column name. They will be quoted according to double square brackets is treated as a column name. They will be quoted according to
the database driver being used. For example, the database driver being used:
```php ```php
$command = $connection->createCommand('SELECT [[id]] FROM {{posts}}'); $command = $connection->createCommand('SELECT [[id]] FROM {{posts}}');

Loading…
Cancel
Save