Php admin как начать свой бизнес currency

На прошлой неделе я говорил о возможных подводных камнях при работе с деньгами и валютами в ваших приложениях. Есть много вещей, которые стоит учитывать при работе с деньгами в приложении, и множество хороших практик, которые должны непременно использоваться в вашем коде.

В этой статье я покажу вам, что надо делать для абстрагирования многих из этих хороших практик в PHP-пакете для работы с деньгами. Абстрагируя этот код в его собственный пакет, мы можем подключить его к любому PHP-приложению, которому требуется работать с деньгами. Это значит, что мы не должны думать обо всех деталях реализации в каждом приложении.

Будем считать, что вы уже создали структуру пакета, которая соответствует стандарту PSR-4, описанному мной в этой статье.

Работа с валютами

Как я говорил на прошлой неделе, управление различными валютами — чрезвычайно важный аспект при создании приложения, поддерживающего международную торговлю.

В мире существует много различных типов валют, и для каждого типа нам требуется множество данных. К счастью, щедрый мир Open Source уже исследовал и предоставил список мета данных, которые мы можем использовать не изобретая велосипед. Это и есть прелесть Open Source.

How to convert Number To $ Currency Format in SQL

Создайте новую папку config в вашей папке src . Затем скопируйте два json-файла из репозитория RubyMoney на GitHub. Пакет, который мы создадим, будет бессовестным портом RubyMoney на PHP.

Эти два json-файла служат постоянным хранилищем всех различных типов мировых валют.

Далее нам надо создать объект для работы с этими типами валют.

Создайте новый файл Currency.php (Валюта) в папке src и задайте свойства класса для каждого ключа json-конфигурации:

Чтобы создать новый объект PHP Currency , мы будем запрашивать название валюты. Добавьте в класс следующий метод PHP __construct () .

Читайте также:  Может ли несовершеннолетний открывать свой бизнес

В этом методе мы принимаем название валюты в качестве аргумента и затем конвертируем его в строку в нижнем регистре.

Далее мы берём содержимое двух json-файлов и объединяем их в массив, с которым будем работать. Если переданное название валюты не совпадает с одним из находящихся в мета данных в json-файлах, мы можем просто выдавать исключение.

Если же валюта найдена в мета данных, мы можем заполнить все свойства класса.

Как и в прошлых статьях про пакеты, создайте новую папку Exception и скопируйте следующий изменённый класс исключения:

namespace PhilipBrownMoneyException;

use Exception;

class InvalidCurrencyException extends Exception <>

Объект PHP Currency — объект-значение, который сделает работу с различными валютами более простой. Чтобы закончить создание класса, нам понадобятся некоторые getter-методы, которые обеспечат цельный API для работы с каждым объектом PHP Currency . Я также добавил статический метод PHP init для некоторого синтаксического сахара, а также метод PHP __toString () для вывода объекта в виде строки.

Вот класс целиком:

Работа с деньгами

Теперь, когда мы можем представлять валюты как объекты в пакете, нам также нужна возможность представлять денежные величины как объекты.

Учим Базы Данных за 1 час! #От Профессионала

Создайте новый класс Money.php в папке src :

namespace PhilipBrownMoney;

class Money
>

Деньги — это объект-значение в мире программирования, и чтобы создать новый объект PHP Money мы должны предоставить величину и тип PHP Currency :

Снова, как и с объектом PHP Currency , я добавлю немного синтаксического сахара с помощью статического метода PHP init () :

И также как в объекте PHP Currency я добавлю два getter-метода для доступа к защищённым свойствам класса:

Читайте также:  Метод сделок в оценке бизнеса пример расчета

Ещё я добавлю волшебный метод PHP __get () , чтобы свойства класса PHP cents и PHP currency автоматически вызывали два следующих метода:

Как я написал в статье Что такое волшебные методы PHP, этот волшебный метод будет вызываться, когда вы попытаетесь получить доступ к свойствам класса, которые не открыты (public). В этом случае метод PHP __get () будет принимать в качестве аргумента требуемое свойство и проверять, определён ли соответствующий getter-метод.

Важность равенства

При работе с деньгами в приложении чрезвычайно важно равенство. Например, будет очень плохо, если вы сможете сложить две величины с разными валютами, потому что это приведёт к бухгалтерскому кошмару.

Чтобы убедиться в том, что два объекта PHP Money имеют одинаковую валюту, мы можем добавить метод для проверки:

Как я писал в статье В чём различия между Сущностями и Объектами-значениями, объекты-значения основывают равенство на атрибутах объекта, а не их идентичности.

Как добавить курс и конвертер валют на PHP

В этой статье вы прочтёте о том, как сделать вывод курс валют на ваш сайт с использованием языка программирования PHP.

Также сделаем конвертер валют и в конце вы сможете скачать файлы из этой статье.

Получение курса валют на PHP:

Перед тем как конвертировать валюты, нужно их получить, для этого нужно зайти на сайт центра банка по этой ссылки, там выбираем ссылку формата которого вам надо получать данные, я же буду показывать для формата JSON.

По сути мы просто будем отправлять GET запрос и получать в качестве ответа JSON данные, которые надо будет переделать в обычный PHP массив.

// Ссылка куда будем отправлять GET запрос
$url = «https://www.cbr-xml-daily.ru/daily_json.js» ;
// Создаём запрос
$ch = curl_init ( ) ;
// Настройки запроса
curl_setopt ( $ch , CURLOPT_URL , $url ) ;
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , true ) ;
// Отправка и декодинг ответа
$data = json_decode ( curl_exec ( $ch ) , $assoc = true ) ;
// Закрытие запроса
curl_close ( $ch ) ;

Читайте также:  Как зависит бизнес от проходимости

Давайте кратко разберём этот код, сначала объявляем переменную, в которой хранится URL куда отправлять запрос, потом создаём его настраиваем и отправляем с помощью curl_exec($ch) и получаем ответ, одновременное с этим его декодируем в обычный массив благодаря json_decode() , закрываем запрос.

Теперь проверим какие данные хранятся в полученном массиве, вот как это делается.

echo ‘

‘ ;
print_r ( $arr ) ;

Массив курсов валют

Как видите мы теперь имеем массив, наверное со всеми валютами мира, и их ценами, также нам приходят данные о времени и откуда взяты данные.

Но нам нужно получить стоимость доллара, для этого, используем этот код.

$USD = $data [ «Valute» ] [ «USD» ] [ «Value» ] ; // Получаем стоимость доллара
echo «Доллар в рублях: $USD» ; // Выводим на экран

Как видите мы просто берём из трёхмерного массива данные стоимости и сохраняем в переменную $USD , и выводим её на экран.

Вот результат работы программы.

Один доллар в рублях

Примерно так и получаем курс доллара в PHP, но таким же способом можно получать и другие валюты, вам просто нужно их найти в этом массиве и всё.

Конвертер валют на PHP:

Теперь сделаем простой конвертер валют, а точнее доллара на PHP, но точно таким же способом вы сможете сделать конвертер для любой валюты.

HTML:

Для этого сделаем не большую HTML форму, куда будем вводить количество долларов и потом при отправки, будет вычисляться сколько это рублей.

Источник: prognote.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин