PHP code example of openbuildings / jam-monetary
1. Go to this page and download the library: Download openbuildings/jam-monetary 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/ */
openbuildings / jam-monetary example snippets php
class Model_Product extends Jam_Model {
static public function initialize(Jam_Meta $meta)
{
$meta
->fields(array(
'id' => Jam::field('primary'),
'name' => Jam::field('string'),
'price' => Jam::field('price', array('default_currency' => 'GBP')),
'discount_price' => Jam::field('price'),
));
}
}
php
$product = Jam::build('product', array('price' => 10));
echo $product->price->amount(); // will output 10.00 float
echo $product->price->currency(); // will output GBP - the price currency
echo $product->price; // will output '10.00'
echo $product->price->as_string(); // will output '10.00'
echo $product->price->as_string('USD'); // will output '10.00'
echo $product->price->in('USD'); // will output 18.12 float
echo $product->price->humanize(); // will output '£10.00'
echo $product->price->humanize('USD'); // will output '$18.12'
echo $product->price->as_html(); // will output '£10.00'
echo $product->price->as_html('USD'); // will output '$18.12'
echo $product->price->as_html('EUR'); // will output '€18.12'
// Price arithmetic
$product->price->add(10);
// Add 2 prices together, doing the exchange conversion arithmetic on the fly
$product->price->add(new Jam_Price(20, 'EUR'));
// Adding more than one price
$product->price->add(new Jam_Price(20, 'EUR'), new Jam_Price(10, 'GBP'), 12.32);
php
class Model_Product extends Jam_Model {
static public function initialize(Jam_Meta $meta)
{
$meta
->fields(array(
'id' => Jam::field('primary'),
'price' => Jam::field('price'),
'currency' => Jam::field('string'),
))
->validator('price' => array('price' => array('greater_than' => 10)))
->validator('currency' => array('currency' => TRUE));
}
}