Php IOS应用中laravel服务的算法设计

Php IOS应用中laravel服务的算法设计,php,ios,api,laravel-routing,laravel-5.3,Php,Ios,Api,Laravel Routing,Laravel 5.3,我曾经为移动应用服务开发codeignitor,但现在我被指示使用Laravel而不是codeignitor 在codeignitor中,我们可以直接从url调用控制器(在我的例子中是API),这样我们就可以发送一些数据。但在Laravel中,我们不能直接从URL调用控制器,所以我们必须使用路由来调用控制器。 因此,移动应用程序如何调用并向路由发送数据,然后路由将调用API的相应服务 我是拉雷维尔的新手,所以任何帮助都将是巨大的帮助 多谢各位 如果您想为API创建资源丰富的控制器,请运行php

我曾经为移动应用服务开发codeignitor,但现在我被指示使用Laravel而不是codeignitor

在codeignitor中,我们可以直接从url调用控制器(在我的例子中是API),这样我们就可以发送一些数据。但在Laravel中,我们不能直接从URL调用控制器,所以我们必须使用路由来调用控制器。 因此,移动应用程序如何调用并向路由发送数据,然后路由将调用API的相应服务

我是拉雷维尔的新手,所以任何帮助都将是巨大的帮助


多谢各位

如果您想为API创建资源丰富的控制器,请运行
php artisan make:controller PhotoController
它将为您的资源生成所有基本的CRUD操作(如图所示)。现在,在您的
routes.php
文件中,您将看到可以添加
Route::resource('photo','PhotoController')将为您生成所有路由。通过运行
php artisan route:list
,可以看到所有路由的列表。参考:

在控制器方法中,您所做的工作与在Codeignitor中所做的相同。您可以使用适当的参数从IOS调用get/post route,它将为您提供帮助

编辑: 在控制器方法中,您可以按如下方式发送数据:

    public function someFunction(Request $request){
    $data = $request->get('some_key_sent_from_device');
}

这些工作原理与php或codeignitor上的工作原理相同

发布方法。 在本机php和codeignitor中,通过指定POST方法获得输入字段。但是在Laravel中,必须在route中指定输入字段。 我希望你对MVC有一些想法。你会像那样指定你的发帖路线

 Route::post('/login', 'Api@Signin');
下面是一个简单的服务,它可以登录用户

public function Signin()
{
     $validation = Validator::make(Request::all(),[ 
        'email'        => 'required',
        'password'     => 'required',
        'device_type'  => 'required',
        'device_token' => 'required',

    ]);


    if($validation->fails())
     {

            $finalResult = array('code' => 100,
                'msg' => 'Data Entered Not Correct.',
                'data' => array()
                );

     }

   else
     {
           $login = User::where(
                [
                    ['email', '=', Input::get('email')],
                    ['password', '=', md5(Input::get('password'))],
                ])->first();



           if (is_null($login))
        {

            $finalResult = array('code' => 100,
                'msg' => 'Your Account Does not exist.',
                'data' => array()
                );

        }

        else
        {


            $user= User::where('email', '=', Input::get('email'))->first();
                $user->device_token = Input::get('device_token');
                $user->device_type = Input::get('device_type');

                $user->save();


            $data = User::where(
                 [ 'email'    =>Input::get('email')],
                 [ 'password' =>md5(Input::get('password'))]
                 )->get();


            $finalResult = array('code' => 200,
                'msg' => 'Success',
                'data' => $data
                );

        }

    }   

        echo json_encode($finalResult);

}

谢谢你的帮助。请帮我解决这个问题,当一个IOS用户点击一个URL并发送一些数据时,路由如何获取发送的数据,然后发送到控制器方法?非常简单。您将控制器方法中的
请求
对象作为参数传递。此请求对象具有所有数据。修改了我的答案。