ademes / core
1.0.0
2015-08-06 21:22 UTC
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~5.0
- illuminate/support: 4.2.*
- solarium/solarium: 3.4.1
This package is not auto-updated.
Last update: 2024-09-24 03:44:07 UTC
README
应包括适用于不同应用的全部核心模块和函数
安装
将以下行添加到 composer.json
文件的 require
部分
{ "require": { "ademes/core": "dev-master" } }
设置
- 将
'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');
}
获取用户信息
- 获取已登录用户
$user = $app['userClient']->getLoggedInUser($authResponse->getAccessToken());
if ($user) {
Session::put('data.user', $user);
}
Http 客户端
使用此类对所有 api 服务的请求。
客户端有 3 个方法
- GET
- POST
- DELETE 由于 Laravel 4 的限制,为了能够进行 PUT、PATCH 请求,我们必须在消息体中发送 '_method'=>'PUT'/'PATCH'。
请求示例
- GET
$query = $this->http->get($_ENV['API_VERSION'].'/companies', [
'query' => [
'access_token' => Session::get('AuthToken')->getAccessToken()
]
]);
- 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);
- DELETE
$body = ['access_token'=>Session::get('AuthToken')->getAccessToken()];
$response = $this->http->delete($_ENV['API_VERSION'] . '/companies/' . $id, ['body'=>$body]);
- 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);