Php 如何修复类LetterGenerator的对象在Laravel中无法转换为字符串?
我想在我的Laravel应用程序中为商家添加一个随机代码,但我有两个问题Php 如何修复类LetterGenerator的对象在Laravel中无法转换为字符串?,php,laravel,Php,Laravel,我想在我的Laravel应用程序中为商家添加一个随机代码,但我有两个问题 当我在controller应用程序中添加random generator函数时,响应我的请求会花费很多时间,网络浏览器中不会发生任何事情,但当我刷新页面数据时,创建时不会得到任何响应,我的请求仍处于挂起状态 现在,当我将全局类用于我的函数时,我得到了“类的对象App\Common\NumberGenerator无法转换为字符串” 现在我已经研究了其他Q/A,它们与我的问题不相似,我尝试在我想要得到的值之前使用“(strin
public function store(Request $request)
{
$this->validate($request,[
'gametype' => 'required|string|min:2',
'description' => 'required|string|min:1|max:180',
'price' => 'required|numeric|min:4',
'buyyer_id' => 'required|numeric|min:1'
]);
$VerifyRandomNumber = $this->GetRandNumber(15);
$requestModel = new RequestModel;
// store
$requestModel->title = $VerifyRandomNumber;
$requestModel->description = $request['description'];
$requestModel->gametype = $request['gametype'];
$requestModel->price = $request['price'];
$requestModel->buyyer_id = $request['buyyer_id'];
$requestModel->seller_id = Auth::user()->id;
$requestModel->save();
return $this->SendRequestSMS($request['title'], $request['gametype']);
}
public function GetRandNumber($length) {
$randomNumber = new NumberGenerator($length);
$randomNumber-> get_rand_numbers();
return $randomNumber;
}
发电机等级:
class NumberGenerator
{
private $lenght;
public function __construct($lenght)
{
$this->lenght = $lenght;
}
/**
* Create a new controller instance.
*
* @return void
*/
function assign_rand_value($num) {
// accepts 1 - 36
switch($num) {
case "1" : $rand_value = "a"; break;
case "2" : $rand_value = "b"; break;
case "3" : $rand_value = "c"; break;
case "4" : $rand_value = "d"; break;
case "5" : $rand_value = "e"; break;
case "6" : $rand_value = "f"; break;
case "7" : $rand_value = "g"; break;
case "8" : $rand_value = "h"; break;
case "9" : $rand_value = "i"; break;
case "10" : $rand_value = "j"; break;
case "11" : $rand_value = "k"; break;
case "12" : $rand_value = "l"; break;
case "13" : $rand_value = "m"; break;
case "14" : $rand_value = "n"; break;
case "15" : $rand_value = "o"; break;
case "16" : $rand_value = "p"; break;
case "17" : $rand_value = "q"; break;
case "18" : $rand_value = "r"; break;
case "19" : $rand_value = "s"; break;
case "20" : $rand_value = "t"; break;
case "21" : $rand_value = "u"; break;
case "22" : $rand_value = "v"; break;
case "23" : $rand_value = "w"; break;
case "24" : $rand_value = "x"; break;
case "25" : $rand_value = "y"; break;
case "26" : $rand_value = "z"; break;
case "27" : $rand_value = "0"; break;
case "28" : $rand_value = "1"; break;
case "29" : $rand_value = "2"; break;
case "30" : $rand_value = "3"; break;
case "31" : $rand_value = "4"; break;
case "32" : $rand_value = "5"; break;
case "33" : $rand_value = "6"; break;
case "34" : $rand_value = "7"; break;
case "35" : $rand_value = "8"; break;
case "36" : $rand_value = "9"; break;
}
return $rand_value;
}
function get_rand_numbers() {
if ($this->lenght>0) {
$rand_id="";
for($i=1; $i<=$this->lenght; $i++) {
mt_srand((double)microtime() * 1000000);
$num = mt_rand(27,36);
$rand_id .= $this->assign_rand_value($num);
}
}
return $rand_id;
}
}
类号发电机
{
私人$lengh;
公共功能结构(长度)
{
$this->lenght=$lenght;
}
/**
*创建一个新的控制器实例。
*
*@返回无效
*/
函数赋值和赋值($num){
//接受1-36
交换机($num){
案例“1”:$rand_value=“a”;中断;
案例“2”:$rand_value=“b”;中断;
案例“3”:$rand_value=“c”;中断;
案例“4”:$rand_value=“d”;中断;
案例“5”:$rand_value=“e”;中断;
案例“6”:$rand_value=“f”;中断;
案例“7”:$rand_value=“g”;中断;
案例“8”:$rand_value=“h”;中断;
案例“9”:$rand_value=“i”;中断;
案例“10”:$rand_value=“j”;中断;
案例“11”:$rand_value=“k”;中断;
案例“12”:$rand_value=“l”;中断;
案例“13”:$rand_value=“m”;中断;
案例“14”:$rand_value=“n”;中断;
案例“15”:$rand_value=“o”;中断;
案例“16”:$rand_value=“p”;中断;
案例“17”:$rand_value=“q”;中断;
案例“18”:$rand_value=“r”;中断;
案例“19”:$rand_value=“s”中断;
案例“20”:$rand_value=“t”;中断;
案例“21”:$rand_value=“u”;中断;
案例“22”:$rand_value=“v”;中断;
案例“23”:$rand_value=“w”;中断;
案例“24”:$rand_value=“x”;中断;
案例“25”:$rand_value=“y”;中断;
案例“26”:$rand_value=“z”;中断;
案例“27”:$rand_value=“0”;中断;
案例“28”:$rand_value=“1”;中断;
案例“29”:$rand_value=“2”;中断;
案例“30”:$rand_value=“3”;中断;
案例“31”:$rand_value=“4”;中断;
案例“32”:$rand_value=“5”;中断;
案例“33”:$rand_value=“6”;中断;
案例“34”:$rand_value=“7”;中断;
案例“35”:$rand_value=“8”;中断;
案例“36”:$rand_value=“9”;中断;
}
返回$rand_值;
}
函数get_rand_numbers(){
如果($this->lenght>0){
$rand_id=“”;
对于($i=1;$ilenght;$i++){
mt_srand((双)微时间()*1000000);
$num=百万兰特(27,36);
$rand\u id.=$this->assign\u rand\u value($num);
}
}
返回$rand_id;
}
}
现在我完全是初学者,正在尝试在现实世界的应用程序上学习如何实现这一点,我在这个应用程序上使用了另一个类,它“发送短信”,发送请求只需1秒,应用程序功能正常,但当我使用此方法时,我遇到了这个问题。问题2-
返回的是类而不是字符串
public function GetRandNumber($length) {
$randomNumber = new NumberGenerator($length);
$randomNumber-> get_rand_numbers();
return $randomNumber;
}
您需要返回get_rand_numbers()的结果,如下所示:
public function GetRandNumber($length) {
$randomNumber = new NumberGenerator($length);
return $randomNumber-> get_rand_numbers();
}
关于问题1-似乎此函数“SendRequestSMS”应对延迟负责。你能把它寄出去吗?@AlbertoGuilherme是的。我尝试添加NumberGenerator SMS服务Proivder的那一刻,数据中心正在进行修复,这就是延迟和失败的原因。我很高兴它运行正常。=)