1. Go to this page and download the library: Download mmdm/sim-cart 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/ */
mmdm / sim-cart example snippets
composer
$host = '127.0.0.1';
$db = 'database name';
$user = 'username';
$pass = 'password';
// this is very nice collation to use
$charset = 'utf8mb4';
$dsn = "mysql:host={$host};dbname={$db};charset={$charset}";
$options = [
// add this option to show exception on any bad condition
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
$cookieStorage = new \Sim\Cookie\Cookie();
// this is what you have for protecting your data
$cookieStorage = new \Sim\Cookie\Cookie(
new \Sim\Crypt\Crypt(
$mainCryptKey,
$assuredCryptKey
)
);
$cookieStorage = new \Sim\Cookie\Cookie(new \Sim\Crypt\Crypt($mainCryptKey, $assuredCryptKey));
// we don't need a user, so we don't pass it
$cart = new \Sim\Cart\Cart($pdo, $cookieStorage);
// use cart methods
$cart->add('product_code');
// simple usage (unnecessary)
$cartUtil->save(
2, // max stored cart count
[
'extra_column' => extra value,
...
],
"some_extra_where=:extra_where_param1",
[
'extra_where_param1' => actual value
]
);
// if you want use from cart
$cart->utils()->save(
2, // max stored cart count
[
'extra_column' => extra value,
...
],
"some_extra_where=:extra_where_param1",
[
'extra_where_param1' => actual value
]
)
try {
// try to save or other thing
// ...
$cart->utils()->save(1);
} catch (\Sim\Cart\Exceptions\CartMaxCountException $e) {
// if cart count is at maximum count of it
// ...
} catch (\Sim\Cart\Interfaces\IDBException $e) {
// database error
// ...
} catch (\Sim\Crypt\Exceptions\CryptException $e) {
// encryption or decryption has error
// ...
}
// after instantiate cart class or even cart util class,
// you can use util's methods. For convenient in examples,
// we will use cart class utils
$cart->utils()->runConfig();
$cart->add('item_id_from_product_property');
// with extra information
$cart->add('item_id_from_product_property', [
'type' => 'service',
...
]);
// keys are from product_property in
// config NOT actual column of table
$cart->update('item_id_from_product_property', [
'qnt' => 4
]);
// store cart items in cookie
$cart->store();
// restore cart items
$cart->restore();
// delete and destroy cookie for cart
$cart->destroy();