From 792abd4aa931e2917d141b6987958a455ee36cc1 Mon Sep 17 00:00:00 2001 From: naumso Date: Thu, 13 Jun 2024 21:29:14 +0300 Subject: [PATCH] php stan --- src/VkProvider.php | 23 +++++----- src/VkUser.php | 112 +++++++++++++++------------------------------ 2 files changed, 50 insertions(+), 85 deletions(-) diff --git a/src/VkProvider.php b/src/VkProvider.php index b7f5b1d..cf38ce0 100644 --- a/src/VkProvider.php +++ b/src/VkProvider.php @@ -15,10 +15,9 @@ class VkProvider extends AbstractProvider protected $language = null; /** - * @type array * @see https://vk.com/dev/permissions */ - public $scopes = [ + public array $scopes = [ 'email', // 'friends', // 'offline', @@ -43,7 +42,7 @@ class VkProvider extends AbstractProvider * @type array * @see https://new.vk.com/dev/fields */ - public $userFields = [ + public array $userFields = [ 'bdate', 'city', 'country', @@ -115,22 +114,24 @@ class VkProvider extends AbstractProvider /** * @param string $language */ - public function setLanguage($language) + public function setLanguage(string $language): self { $this->language = (string)$language; return $this; } - public function getBaseAuthorizationUrl() + public function getBaseAuthorizationUrl(): string { return "$this->baseOAuthUri/authorize"; } - public function getBaseAccessTokenUrl(array $params) + + public function getBaseAccessTokenUrl(array $params): string { return "$this->baseOAuthUri/access_token"; } - public function getResourceOwnerDetailsUrl(AccessToken $token) + + public function getResourceOwnerDetailsUrl(AccessToken $token): string { $params = [ 'fields' => $this->userFields, @@ -147,7 +148,7 @@ class VkProvider extends AbstractProvider { return $this->scopes; } - protected function checkResponse(ResponseInterface $response, $data) + protected function checkResponse(ResponseInterface $response, $data): void { // Metadata info $contentTypeRaw = $response->getHeader('Content-Type'); @@ -176,7 +177,7 @@ class VkProvider extends AbstractProvider throw new IdentityProviderException($errorMessage, $errorCode, $data); } } - protected function createResourceOwner(array $response, AccessToken $token) + protected function createResourceOwner(array $response, AccessToken $token): VkUser { $response = reset($response['response']); $additional = $token->getValues(); @@ -202,7 +203,7 @@ class VkProvider extends AbstractProvider * * @return User[] */ - public function usersGet(array $ids = [], AccessToken $token = null, array $params = []) + public function usersGet(array $ids = [], AccessToken $token = null, array $params = []): array { if (empty($ids) && !$token) { throw new \InvalidArgumentException('Some of parameters usersIds OR access_token are required'); @@ -236,7 +237,7 @@ class VkProvider extends AbstractProvider * * @return User[] */ - public function friendsGet($userId, AccessToken $token = null, array $params = []) + public function friendsGet($userId, AccessToken $token = null, array $params = []): array { $default = [ 'user_id' => $userId, diff --git a/src/VkUser.php b/src/VkUser.php index 6e57865..4e26ad4 100644 --- a/src/VkUser.php +++ b/src/VkUser.php @@ -6,8 +6,6 @@ use League\OAuth2\Client\Provider\ResourceOwnerInterface; /** * @see https://vk.com/dev/fields - * - * @package Sept\OAuth2\Client\Provider */ class VkUser implements ResourceOwnerInterface { @@ -18,36 +16,26 @@ class VkUser implements ResourceOwnerInterface /** * User constructor. - * - * @param array $response */ public function __construct(array $response) { $this->response = $response; } - /** - * @return array - */ - public function toArray() + + public function toArray(): array { return $this->response; } - /** - * @return integer - */ - public function getId() + + public function getId(): int { return (int)($this->getField('uid') ?: $this->getField('id')); } /** * Helper for getting user data - * - * @param string $key - * - * @return mixed|null */ - protected function getField($key) + protected function getField(string $key): mixed|null { return !empty($this->response[$key]) ? $this->response[$key] : null; } @@ -55,132 +43,108 @@ class VkUser implements ResourceOwnerInterface /** * @return string|null DD.MM.YYYY */ - public function getBirthday() + public function getBirthday():string { return $this->getField('bdate'); } + /** * @return array [id =>, title => string] */ - public function getCity() + public function getCity(): array { return $this->getField('city'); } + /** * @return array [id =>, title => string] */ - public function getCountry() + public function getCountry(): array { return $this->getField('country'); } + /** * Short address to user page - * - * @return string */ - public function getDomain() + public function getDomain(): string { return $this->getField('domain'); } - /** - * @return string - */ - public function getFirstName() + + public function getFirstName(): string { return $this->getField('first_name'); } + /** * @return int 0|1|2|3 => nobody|resquest_sent|incoming_request|friends */ - public function getFriendStatus() + public function getFriendStatus(): int { return $this->getField('friend_Status'); } + /** * Has user avatar? - * - * @return bool */ - public function isHasPhoto() + public function isHasPhoto(): bool { return (bool)$this->getField('has_photo'); } - /** - * @return string - */ - public function getHomeTown() + + public function getHomeTown(): string { return $this->getField('home_town'); } + /** * Detect if current user is freind to this - * - * @return bool */ - public function isFriend() + public function isFriend(): bool { return (bool)$this->getField('is_friend'); } - /** - * @return string - */ - public function getLastName() + + public function getLastName(): string { return $this->getField('last_name'); } - /** - * @return string - */ - public function getMaidenName() + + public function getMaidenName(): string { return $this->getField('maiden_name'); } - /** - * @return string - */ - public function getNickname() + + public function getNickname(): string { return $this->getField('nickname'); } /** * It's square! - * - * @return string URL */ - public function getPhotoMax() + public function getPhotoMax():string { return $this->getField('photo_max'); } - /** - * Any sizes - * - * @return string URL - */ - public function getPhotoMaxOrig() + + public function getPhotoMaxOrig(): string { return $this->getField('photo_max_orig'); } - /** - * @return string - */ - public function getScreenName() + + public function getScreenName(): string { return $this->getField('screen_name'); } - /** - * @return int 1|2 => woman|man - */ - public function getSex() + + public function getSex(): int { return $this->getField('sex'); } - /** - * @return string - */ - public function getEmail() + + public function getEmail(): string { return $this->getField('email'); - } - - + } }