PHP code example of christianrey / laravel-addressable
1. Go to this page and download the library: Download christianrey/laravel-addressable library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
christianrey / laravel-addressable example snippets
use ChristianRey\Addressable\Concerns\Addressable;
class Customer extends Model
{
use Addressable;
}
use ChristianRey\Addressable\Data\AddressData;
$customer->addAddress(
new AddressData(
line1: 'C/ Boiro 1',
locality: 'Boiro',
adminArea: 'A Coruña',
postalCode: '15930',
countryCode: 'ES',
),
roles: ['main', 'shipping'],
);
$customer->mainAddress(); // ?Address
$customer->shippingAddress(); // ?Address
$customer->taxAddress(); // ?Address
$customer->setMainAddress($address);
use ChristianRey\Addressable\Geo\GeoResolver;
$resolver = app(GeoResolver::class);
$resolver->country('ES'); // Country (name, currency_code, calling_code)
$resolver->subdivisions('ES'); // Collection of top-level regions
$pc = $resolver->postalCode('ES', '15930');
$pc->place_name; // "Boiro"
$pc->admin1_name; // "Galicia" (top-level region)
$pc->admin2_name; // "A Coruña" (province / second-level region)
$pc->latitude; // 42.6483
$pc->longitude; // -8.8857
// config/addressable.php
'geocoding' => [
'google' => [
'tiers' => [
'autocomplete' => true,
'geocoding' => true,
'address_validation' => false,
],
],
],
use ChristianRey\Addressable\Geocoding\Contracts\Geocoder;
$geocoder = app(Geocoder::class);
$geocoder->autocomplete('Gran Vía, Madrid', sessionToken: $token); // list<AutocompleteSuggestion>
$geocoder->geocode('Puerta del Sol, Madrid'); // ?AddressData
$geocoder->validate($addressData); // AddressValidationResult
// config/addressable.php
'routes' => [
'enabled' => env('ADDRESSABLE_ROUTES', false),
'prefix' => 'addressable',
'middleware' => ['throttle:60,1'], // add 'auth' etc. as needed
],
bash
composer vendor:publish --tag="addressable-migrations"
php artisan migrate
bash
php artisan vendor:publish --tag="addressable-config"