如何使用 models/ in layouts/main.php in yii 2.0(基本模板)中的模型
How to use models from models/ in layouts/main.php in yii 2.0 (basic template)
前几天开始学习Yii框架,遇到了问题。
我已经下载了基本的申请模板(以便您了解我的申请的结构)。
我想在 "views/layouts/main.php" 中使用 类 中来自 "models/" 的函数之一,但是,我不确定如何从 [=40] 中访问它们=].我在互联网上进行了搜索,none 的解决方案对我有所帮助。
- 我已经阅读了有关小部件创建的内容,因此我可以在 "main.php" 中使用它 link - Yii - how to retrieve model data into a layout page?,但这并没有提供我的 Yii 版本,因为我不知道找不到受保护的文件夹等。所以我有点困惑。
- 还阅读了一些其他解决方案,但它们对我也没有帮助。
你建议我做什么?因为我目前对解决方案一无所知。我是这个框架的新手,所以,不要苛刻地评判我:)
更新:[解决方案]
// use statement on top of main.php like the other use statements
use app\models\Modelname;
// anywhere in the file
....
$myModel = new Modelname;
$myModel->myFunction();
...
// Or if it is a static function:
Modelname::myFunction();
这是从文件夹 models/ 访问模型文件 (类) 的方法,例如 views/layouts/main.php。
这是交易 - 视图实际上只是一个 "view"。视图应该只表示一些数据,而不是对这些数据做任何事情。您不想在视图中有任何逻辑。
无论如何,如果你想从你的模型中显示一些东西 - 你应该通过控制器传递这个模型,它呈现你的视图。
控制器看起来像:
$model = new Device;
$this->render('index', array(
'model' => $model
));
然后你可以在视图中使用它,通常是从模型中获取一些数据。
您也可以直接在视图中获取它,但这不是好的做法。
Here您能否阅读一些关于模型的基础知识以及如何使用它们的最佳实践。
更新[Yii 1.x]
要在您的 main.php 中专门使用 Model-Class,请将其导入到您要使用它的地方:
Yii::import('application.models.LoginForm');
之后您就可以正常使用模型中的函数 Class。
更新 2
Yii2 中的命名空间:
use yii\models\LoginForm;
在 main.php 布局文件的开头。另请查看 "Layouts" 部分 here.
前几天开始学习Yii框架,遇到了问题。
我已经下载了基本的申请模板(以便您了解我的申请的结构)。
我想在 "views/layouts/main.php" 中使用 类 中来自 "models/" 的函数之一,但是,我不确定如何从 [=40] 中访问它们=].我在互联网上进行了搜索,none 的解决方案对我有所帮助。
- 我已经阅读了有关小部件创建的内容,因此我可以在 "main.php" 中使用它 link - Yii - how to retrieve model data into a layout page?,但这并没有提供我的 Yii 版本,因为我不知道找不到受保护的文件夹等。所以我有点困惑。
- 还阅读了一些其他解决方案,但它们对我也没有帮助。
你建议我做什么?因为我目前对解决方案一无所知。我是这个框架的新手,所以,不要苛刻地评判我:)
更新:[解决方案]
// use statement on top of main.php like the other use statements
use app\models\Modelname;
// anywhere in the file
....
$myModel = new Modelname;
$myModel->myFunction();
...
// Or if it is a static function:
Modelname::myFunction();
这是从文件夹 models/ 访问模型文件 (类) 的方法,例如 views/layouts/main.php。
这是交易 - 视图实际上只是一个 "view"。视图应该只表示一些数据,而不是对这些数据做任何事情。您不想在视图中有任何逻辑。
无论如何,如果你想从你的模型中显示一些东西 - 你应该通过控制器传递这个模型,它呈现你的视图。
控制器看起来像:
$model = new Device;
$this->render('index', array(
'model' => $model
));
然后你可以在视图中使用它,通常是从模型中获取一些数据。
您也可以直接在视图中获取它,但这不是好的做法。
Here您能否阅读一些关于模型的基础知识以及如何使用它们的最佳实践。
更新[Yii 1.x]
要在您的 main.php 中专门使用 Model-Class,请将其导入到您要使用它的地方:
Yii::import('application.models.LoginForm');
之后您就可以正常使用模型中的函数 Class。
更新 2
Yii2 中的命名空间:
use yii\models\LoginForm;
在 main.php 布局文件的开头。另请查看 "Layouts" 部分 here.