Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何修复类LetterGenerator的对象在Laravel中无法转换为字符串?_Php_Laravel - Fatal编程技术网

Php 如何修复类LetterGenerator的对象在Laravel中无法转换为字符串?

Php 如何修复类LetterGenerator的对象在Laravel中无法转换为字符串?,php,laravel,Php,Laravel,我想在我的Laravel应用程序中为商家添加一个随机代码,但我有两个问题 当我在controller应用程序中添加random generator函数时,响应我的请求会花费很多时间,网络浏览器中不会发生任何事情,但当我刷新页面数据时,创建时不会得到任何响应,我的请求仍处于挂起状态 现在,当我将全局类用于我的函数时,我得到了“类的对象App\Common\NumberGenerator无法转换为字符串” 现在我已经研究了其他Q/A,它们与我的问题不相似,我尝试在我想要得到的值之前使用“(strin

我想在我的Laravel应用程序中为商家添加一个随机代码,但我有两个问题

  • 当我在controller应用程序中添加random generator函数时,响应我的请求会花费很多时间,网络浏览器中不会发生任何事情,但当我刷新页面数据时,创建时不会得到任何响应,我的请求仍处于挂起状态

  • 现在,当我将全局类用于我的函数时,我得到了“类的对象App\Common\NumberGenerator无法转换为字符串”

  • 现在我已经研究了其他Q/A,它们与我的问题不相似,我尝试在我想要得到的值之前使用“(string)”,我使用了序列化,但没有起作用。也许他们应该工作,但我是初学者,我已经尝试了基于教程的方法。。。这是控制器和类的代码。我在这个文件中放了一些简单的数据

    控制器:

    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的那一刻,数据中心正在进行修复,这就是延迟和失败的原因。我很高兴它运行正常。=)