Laravel 服务到 iOS 应用程序的算法设计

问题描述 投票:0回答:2

我曾经在用于移动应用程序服务的 Codeignitor 上工作,但现在我被指示使用 Laravel 而不是 Codeignitor。

在 Codeignitor 中,我们可以直接从 URL 调用控制器(在我的例子中是 API),这样我们就可以发送一些数据,但在 Laravel 中我们不能直接从 URL 调用控制器,所以我们必须使用路由来调用控制器。 那么移动App如何调用并发送数据到路由,路由再调用相应的API服务呢?

我是 Laravel 新手,所以任何帮助都会有很大帮助。

php ios laravel-5 laravel-routing
2个回答
0
投票

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

POST 方法。 在本机 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);

}

0
投票

如果您想为 API 创建资源丰富的控制器,请运行

php artisan make:controller PhotoController
,它将为您的资源生成所有基本的 CRUD 操作(此处为照片)。现在,在您的
routes.php
文件中,您将看到可以添加
Route::resource('photo', 'PhotoController');
,它将为您生成所有路线。您可以通过运行
php artisan route:list
查看所有路线的列表。参考:https://laravel.com/docs/5.1/controllers#restful-resource-controllers

在控制器方法中,您执行与 Codeignitor 中相同的操作。您可以使用适当的参数从 IOS 调用 get/post 路由,它会为您做事。

编辑: 在您的控制器方法中,您可以像这样发送数据:

    public function someFunction(Request $request){
    $data = $request->get('some_key_sent_from_device');
}
© www.soinside.com 2019 - 2024. All rights reserved.