Tôi không khuyên bạn nên làm điều đó, thay vào đó tốt hơn là viết lại hoàn toàn ứng dụng cũ trong Yii2.
Nhưng trong trường hợp di chuyển một phần, vui lòng đọc this paragraph trong Mục chủ đề đặc biệt trong Hướng dẫn chính thức.
Dưới đây là một số đoạn mã quan trọng từ đó:
1) Việc sửa đổi kịch bản entry:
// include the customized Yii class described below
require(__DIR__ . '/../components/Yii.php');
// configuration for Yii 2 application
$yii2Config = require(__DIR__ . '/../config/yii2/web.php');
new yii\web\Application($yii2Config); // Do NOT call run()
// configuration for Yii 1 application
$yii1Config = require(__DIR__ . '/../config/yii1/main.php');
Yii::createWebApplication($yii1Config)->run();
2) Sự kết hợp của Yii
lớp:
$yii2path = '/path/to/yii2';
require($yii2path . '/BaseYii.php'); // Yii 2.x
$yii1path = '/path/to/yii1';
require($yii1path . '/YiiBase.php'); // Yii 1.x
class Yii extends \yii\BaseYii
{
// copy-paste the code from YiiBase (1.x) here
}
Yii::$classMap = include($yii2path . '/classes.php');
// register Yii 2 autoloader via Yii 1
Yii::registerAutoloader(['Yii', 'autoload']);
// create the dependency injection container
Yii::$container = new yii\di\Container;
Cách sử dụng của Yii
lớp học:
echo get_class(Yii::app()); // outputs 'CWebApplication'
echo get_class(Yii::$app); // outputs 'yii\web\Application'
Tôi là người mới bắt đầu trong khung này nên tôi không biết tài liệu đó đang cố gắng nói gì. Có hướng dẫn từng bước nào khác mà tôi có thể theo dõi không ?? –