2015-12-16 26 views
-1

我有兩個控制器PrivacypolicyController和OtpController中的一個方法一個方法generateotp在那裏我想在PrivacyPolicyController中使用它,我使用特徵,但我得到錯誤。這是我的代碼。如何在laravel5中的另一個控制器中使用一個控制器方法

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); 
} 
} 

,誤差 語法錯誤,意想不到的 '特質'(T_TRAIT),預計功能(T_FUNCTION)

回答

0

你的特質應該是一個完成不同的文件。 你也可以檢查PHP Documentation關於性狀,以瞭解更多關於如何創建一個特質,並在其中use它。

後您提取它作爲一個文件,你可以簡單地輸入:

特點:

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; 

    // 
} 
0

使用特質相反,你可以簡單地擴展其控制器你想在你的控制器中使用的方法。

相關問題