1. Go to this page and download the library: Download tobento/service-user 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/ */
tobento / service-user example snippets
use Tobento\Service\User\User;
use Tobento\Service\User\UserInterface;
use Tobento\Service\User\Addressable;
$user = new User(username: 'username');
var_dump($user instanceof UserInterface);
// bool(true)
var_dump($user instanceof Addressable);
// bool(true)
use Tobento\Service\User\UserFactory;
use Tobento\Service\User\UserFactoryInterface;
use Tobento\Service\User\UserInterface;
use Tobento\Service\User\AddressesFactoryInterface;
$userFactory = new UserFactory(
addressesFactory: null, // null|AddressesFactoryInterface
);
var_dump($userFactory instanceof UserFactoryInterface);
// bool(true)
$user = $userFactory->createUser(username: 'username');
var_dump($user instanceof UserInterface);
// bool(true)
use Tobento\Service\User\Address;
use Tobento\Service\User\AddressInterface;
$address = new Address(key: 'shipping');
var_dump($address instanceof AddressInterface);
// bool(true)
use Tobento\Service\User\AddressFactory;
use Tobento\Service\User\AddressFactoryInterface;
use Tobento\Service\User\AddressInterface;
$addressFactory = new AddressFactory();
var_dump($addressFactory instanceof AddressFactoryInterface);
// bool(true)
$address = $addressFactory->createAddress(key: 'shipping');
var_dump($address instanceof AddressInterface);
// bool(true)
use Tobento\Service\User\Addresses;
use Tobento\Service\User\AddressesInterface;
use Tobento\Service\User\AddressFactoryInterface;
use Tobento\Service\User\AddressInterface;
use Tobento\Service\User\Address;
$addresses = new Addresses(
null, // addressFactory: null|AddressFactoryInterface
// addresses: ...AddressInterface
new Address(key: 'shipping'),
new Address(key: 'payment'),
);
var_dump($addresses instanceof AddressesInterface);
// bool(true)
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressesFactoryInterface;
use Tobento\Service\User\AddressesInterface;
use Tobento\Service\User\AddressFactoryInterface;
use Tobento\Service\User\AddressInterface;
use Tobento\Service\User\Address;
$addressesFactory = new AddressesFactory(
addressFactory: null, // null|AddressFactoryInterface
);
var_dump($addressesFactory instanceof AddressesFactoryInterface);
// bool(true)
$addresses = $addressesFactory->createAddresses(
// addresses: ...AddressInterface
new Address(key: 'shipping'),
);
var_dump($addresses instanceof AddressesInterface);
// bool(true)
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\Address;
$addresses = new AddressesFactory()->createAddressesFromArray([
['key' => 'payment'],
new Address(key: 'shipping'),
]);
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressesInterface;
$addresses = new AddressesFactory()->createAddresses();
var_dump($addresses instanceof AddressesInterface);
// bool(true)
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressFactoryInterface;
$addresses = new AddressesFactory()->createAddresses();
var_dump($addresses->addressFactory() instanceof AddressFactoryInterface);
// bool(true)
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressInterface;
$addresses = new AddressesFactory()->createAddresses();
$address = $addresses->get(key: 'payment');
var_dump($address instanceof AddressInterface);
// bool(true)
use Tobento\Service\User\AddressesFactory;
$addresses = new AddressesFactory()->createAddresses();
$address = $addresses->addressFactory()->createAddress(key: 'payment');
$addresses->add($address);
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressInterface;
$addresses = new AddressesFactory()->createAddresses();
$address = $addresses->create(['key' => 'payment']);
var_dump($address instanceof AddressInterface);
// bool(true)
// you might add it to the addresses
$addresses->add($address);
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressInterface;
$addresses = new AddressesFactory()->createAddresses();
$address = $addresses->address(['key' => 'payment']);
var_dump($address instanceof AddressInterface);
// bool(true)
use Tobento\Service\User\AddressesFactory;
$addresses = new AddressesFactory()->createAddresses();
var_dump($addresses->has(key: 'payment'));
// bool(false)
$addresses->address(['key' => 'payment', 'firstname' => 'John']);
var_dump($addresses->has(key: 'payment'));
// bool(true)
// you might check for each address parameter
var_dump($addresses->has(
key: 'payment',
with: ['firstname', 'lastname'],
));
// bool(false)
var_dump($addresses->has(
key: 'payment',
with: ['firstname'],
));
// bool(true)
use Tobento\Service\User\AddressesFactory;
$addresses = new AddressesFactory()->createAddresses();
$addresses->delete(key: 'payment');
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressInterface;
$addresses = new AddressesFactory()->createAddresses();
$addresses->address(['key' => 'payment']);
foreach($addresses->all() as $address) {
var_dump($address instanceof AddressInterface);
// bool(true)
}
// or just
foreach($addresses as $address) {
var_dump($address instanceof AddressInterface);
// bool(true)
}
use Tobento\Service\User\AddressesFactory;
use Tobento\Service\User\AddressInterface;
$addresses = new AddressesFactory()->createAddresses();
$addresses = $addresses->filter(
fn(AddressInterface $a): bool => $a->countryKey() === 'CH'
);
use Tobento\Service\User\AddressesFactory;
$addresses = new AddressesFactory()->createAddresses();
$addresses = $addresses->group('addressbook');
use Tobento\Service\User\User;
use Tobento\Service\User\Addressable;
$user = new User(username: 'username');
var_dump($user instanceof Addressable);
// bool(true)
use Tobento\Service\User\User;
use Tobento\Service\User\AddressesInterface;
$user = new User(username: 'username');
var_dump($user->addresses() instanceof AddressesInterface);
// bool(true)
use Tobento\Service\User\User;
use Tobento\Service\User\AddressInterface;
$user = new User(username: 'username');
// returns primary address
var_dump($user->address() instanceof AddressInterface);
// bool(true)
var_dump($user->address(key: 'payment') instanceof AddressInterface);
// bool(true)
use Tobento\Service\User\User;
$user = new User(username: 'username');
var_dump($user->hasAddress(key: 'payment'));
// bool(false)
// you might check for each address parameter
var_dump($user->hasAddress(
key: 'payment',
with: ['firstname', 'lastname'],
));
// bool(false)
use Tobento\Service\User\AddressAwareInterface;
use Tobento\Service\User\AddressInterface;
interface AddressAwareInterface
{
/**
* Create an address that represents the object.
*
* @return AddressInterface
*/
public function toAddress(): AddressInterface;
}
use Tobento\Service\User\AddressAwareInterface;
use Tobento\Service\User\User;
$user = new User(username: 'username');
var_dump($user instanceof AddressAwareInterface);
// bool(true)
var_dump($user->toAddress()->key());
// string(7) "primary"
use Tobento\Service\User\UserAwareInterface;
use Tobento\Service\User\UserInterface;
interface UserAwareInterface
{
/**
* Create an user that represents the object.
*
* @return UserInterface
*/
public function toUser(): UserInterface;
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.