当前位置:  开发笔记 > 编程语言 > 正文

Yii2如何在Controller中包含一个php文件

如何解决《Yii2如何在Controller中包含一个php文件》经验,为你挑选了1个好方法。

在我的Yii2框架工作项目中,我想要包含一个php文件.该文件包含两个函数文件名"encryptdecrypt.php"并将其保存在common\extension文件夹中


我在控制器页面中包含此行("CustomersController")

页面顶部包括使用此行

$encFile =Yii::getAlias('@common'). '\extensions\encryptdecrypt.php';
require_once($encFile);

并在下面的动作代码中使用该功能

public function actionCreate()
{
    $model = new Customers();

    if ($model->load(Yii::$app->request->post()) ) {

        $model->password=encryptIt($model->password);            
        if($model->created_date==null)
        {
          $model->created_date=date('y-m-d') ; 
        }
        $model->save();
        return $this->redirect(['view', 'id' => $model->customer_id]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

这里我收到以下错误"调用未定义的函数backend\controllers\encryptIt()"

谢谢



1> Touqeer Shaf..:

Yii2使用PSR-4 AutoLoader规则,所以先保存Security.php

common\extensions文件夹中,然后打开Security.php并在其中创建类.



然后在你的CustomersController行动中Create使用它像这样:

public function actionCreate()
{
    $model = new Customers();

    if ($model->load(Yii::$app->request->post()) ) {
        $security = new \common\extensions\Security(); // <-- Create Object Here
        $model->password= $security->encrypt($model->password);            
        if($model->created_date==null)
        {
          $model->created_date=date('y-m-d') ; 
        }
        $model->save();
        return $this->redirect(['view', 'id' => $model->customer_id]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}

在Yii2中BTW你也可以像这样生成安全密码哈希: Yii::$app->security->generatePasswordHash($password);

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有