如何在laravel5中的另一个控制器中使用一个控制器方法

时间:2015-12-16 07:26:29

标签: php laravel-5

我在OtpController中有两个控制器PrivacypolicyController和OtpController一个方法generateotp是我想在PrivacyPolicyController中使用它,我使用特性但我收到错误。这是我的代码。

class PrivacyPolicyController extends Controller {
use OtpController;
public function getCheck($phno,$app_type)
{
$authentication =   authentication::select('pp_version','toc_version')
->where('phone_no',$phno  and 'application_type',$app_type);
if ( !$authentication->count() )
{
$this->generateotp($phno,$app_type);
}
}

我的otpController就像这样

class OtpController extends Controller {
trait OtpController{
public function generateotp($number,$length) 
{
for ($c = 0; $c < $length - 1; $c++) 
{
array_push($rand, mt_rand(0, 9));
shuffle($rand);
}
return implode('', $rand);
}
}

,错误是 语法错误,意外&#39;特质&#39; (T_TRAIT),期待函数(T_FUNCTION)

2 个答案:

答案 0 :(得分:0)

您的特质应该是完全不同的文件。 您还可以查看PHP Documentation有关特征的信息,详细了解如何创建特征以及use。{/ p>

将其解压缩为文件后,只需输入:

即可

特点:

trait OtpController {

    public function generateOtp($number, $length) 
    {
        for ($c = 0; $c < $length - 1; $c++) 
        {
            array_push($rand, mt_rand(0, 9));
            shuffle($rand);
        }
        return implode('', $rand);
    }
}

控制器:

class OtpController extends Controller {

    use OtpControllerTrait;

    //
}

答案 1 :(得分:0)

您可以简单地扩展您想要在Controller中使用的方法,而不是使用特征。