ademes/core

1.0.0 2015-08-06 21:22 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:44:07 UTC


README

应包括适用于不同应用的全部核心模块和函数

安装

将以下行添加到 composer.json 文件的 require 部分

{
    "require": {
        "ademes/core": "dev-master"
    }
}

设置

  1. 'Ademes\Core\CoreServiceProvider', 添加到 app/config/app.php 文件中的服务提供者列表。

配置

为了使用 Api 代理,首先发布其配置

php artisan config:publish ademes/core

之后,编辑文件 app/config/packages/ademes/core/core.php 以满足您的需求。

使用

身份验证

$authResponse = $app['authClient']->authenticate('admin@admin.com', '000000', 'IhzopIc5SuMf3oUT', 'GUXaqBpeFgN1GKYNTOvh4nOnRpEig4J1');
if ($authResponse) {
    Session::set('AuthToken', $authResponse);
} else {
    throw new Exception('You\'re not authenticated');
}

获取用户信息

  1. 获取已登录用户
$user = $app['userClient']->getLoggedInUser($authResponse->getAccessToken());
if ($user) {
    Session::put('data.user', $user);
}

Http 客户端

使用此类对所有 api 服务的请求。

客户端有 3 个方法

  1. GET
  2. POST
  3. DELETE 由于 Laravel 4 的限制,为了能够进行 PUT、PATCH 请求,我们必须在消息体中发送 '_method'=>'PUT'/'PATCH'。

请求示例

  1. GET
$query = $this->http->get($_ENV['API_VERSION'].'/companies', [
    'query' => [
        'access_token' => Session::get('AuthToken')->getAccessToken()
    ]
]);
  1. POST
$data = [
    'headers' => ['Content-Type' => 'application/x-www-form-urlencoded'],
    'body' => [
        'name' => Input::get('name'),
        'description' => Input::get('description'),
        'url' => Input::get('url'),
        'photo' => fopen($path, 'r'),
        'access_token' => Session::get('AuthToken')->getAccessToken()
    ]
];
$response = $this->http->post($_ENV['API_VERSION'] . '/companies', $data);
  1. DELETE
$body = ['access_token'=>Session::get('AuthToken')->getAccessToken()];
$response = $this->http->delete($_ENV['API_VERSION'] . '/companies/' . $id, ['body'=>$body]);
  1. PUT
$data = [
    'headers' => ['Content-Type' => 'application/x-www-form-urlencoded'],
    'body' => [
        '_method' => 'PUT',
        'name' => Input::get('name'),
        'description' => Input::get('description'),
        'url' => Input::get('url'),
        'access_token' => Session::get('AuthToken')->getAccessToken()
    ]
];
$response = $this->http->post($_ENV['API_VERSION'] . '/companies/'.$id, $data);