Server IP : 66.29.132.124 / Your IP : 3.145.65.133 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/propaganistas/laravel-phone/src/Casts/ |
Upload File : |
<?php namespace Propaganistas\LaravelPhone\Casts; use InvalidArgumentException; use Propaganistas\LaravelPhone\PhoneNumber; class RawPhoneNumberCast extends PhoneNumberCast { /** * Cast the given value. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed $value * @param array $attributes * @return \Propaganistas\LaravelPhone\PhoneNumber|null */ public function get($model, string $key, $value, array $attributes) { if (! $value) { return null; } $phone = new PhoneNumber($value); $countries = $this->getPossibleCountries($key, $attributes); if (empty($countries) && ! $phone->numberLooksInternational()) { throw new InvalidArgumentException( 'Missing country specification for '.$key.' attribute cast' ); } return $phone->ofCountry($countries); } /** * Prepare the given value for storage. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed $value * @param array $attributes * @return mixed */ public function set($model, string $key, $value, array $attributes) { if ($value instanceof PhoneNumber) { return $value->getRawNumber(); } return (string) $value; } /** * Serialize the attribute when converting the model to an array. * * @param \Illuminate\Database\Eloquent\Model $model * @param string $key * @param mixed $value * @param array $attributes * @return mixed */ public function serialize($model, string $key, $value, array $attributes) { if (! $value) { return null; } /** @var $value PhoneNumber */ return $value->getRawNumber(); } }