Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
9bc99e22
Commit
9bc99e22
authored
May 28, 2013
by
ploaiza
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed some wording
parent
df616847
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
16 deletions
+16
-16
upgrade-from-v1.md
docs/guide/upgrade-from-v1.md
+16
-16
No files found.
docs/guide/upgrade-from-v1.md
View file @
9bc99e22
...
...
@@ -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.
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.
You can use any core class without explicitly includ
e
that class file, thanks to the Yii
You can use any core class without explicitly includ
ing
that class file, thanks to the Yii
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.
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,
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.
A
nd Yii will be able to autoload any class in this library.
such as Zend Framework, you may define a path alias
`@Zend`
which refers to its installation
directory a
nd Yii will be able to autoload any class in this library.
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
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.**
...
...
@@ -159,7 +159,7 @@ extension for your Smarty views, or `twig` for Twig views. You may also configur
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,
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
------
Theme
works completely different in 2.0. It is
now based on a path map to "translate" a source
Theme
s 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
`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`
.
...
...
@@ -250,7 +250,7 @@ application component.
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.
Each console controller is like
`CConsoleCommand`
in 1.1. It consists of one or several
...
...
@@ -300,7 +300,7 @@ public function behaviors()
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.
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`
,
`StringHelper`
. These classes are designed to be easily extended. Note that static classes
are usually hard to
be extende
d because of the fixed class name references. But Yii 2.0
are usually hard to
exten
d because of the fixed class name references. But Yii 2.0
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`
,
`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
$query
=
new
\yii\db\Query
;
...
...
@@ -365,7 +365,7 @@ ActiveRecord
------------
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
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
use the
`find()`
method
like the following
:
use the
`find()`
method:
```
php
// 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
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
$customers
=
Customer
::
find
()
->
asArray
()
->
all
();
```
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.
...
...
@@ -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
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
the database driver being used
. For example,
the database driver being used
:
```
php
$command
=
$connection
->
createCommand
(
'SELECT [[id]] FROM {{posts}}'
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment