| Русский | English | Español | 中文 | Français | Deutsch |
|---|---|---|---|---|---|
| Русский | English | Español | 中文 | Sélectionné | Deutsch |
Currency Converter — c’est un projet pour travailler avec une API de conversion de devises. Vous pouvez demander des taux de change, effectuer des conversions et tester la fonctionnalité à l'aide de tests préconfigurés.
Reflète la structure du bundle CurrencyConverterBundle, sans inclure la structure du framework Symfony.
root_dir/
├── bundles/
│ ├── CurrencyConverterBundle/
│ ├── Action/ # Contrôleurs gérant les actions des utilisateurs
│ ├── Command/ # Commandes console pour gérer les fonctions du bundle
│ ├── DependencyInjection/ # Logique pour configurer les dépendances et paramètres
│ ├── DTO/ # Objets de transfert de données pour structurer les informations
│ ├── Entity/ # Entités pour les opérations de base de données
│ ├── Form/ # Fichiers pour créer et gérer des formulaires
│ ├── Migrations/ # Scripts de migration pour modifier la structure de la base de données
│ ├── Repository/ # Répertoires pour l'accès et le traitement des données
│ ├── Resources/ # Modèles, localisation et autres ressources
│ ├── Service/ # Logique métier et services auxiliaires
│ ├── CurrencyConverterBundle.php # Fichier principal du bundle pour l'intégrer au projet
Inclinez le projet vers votre ordinateur local:
git clone https://github.com/yaleksandr89/freecurrencyapi-converter-php.git
cd freecurrencyapi-converter-phpEn tant que SGBD utilisé `PostgreSQL'. Mais la structure de la base de données est simple, donc en principe, vous pouvez utiliser d'autres SGBD. Exemple configuration de connexion OBD:
DATABASE_URL="postgresql://user:password@127.0.0.1:5432/db_name?serverVersion=17&charset=utf8"
# user - nom d'utilisateur
# password - mot de passe utilisateur
# db_name - nom de la base de données
# serverVersion - version postgresql (vous pouvez vérifier avec la commande psql-V)Также требуется указать:
APP_TIMEZONEest un fuseau horaire utilisé pour mettre à jour les devises selon un calendrier. Valeur par défaut UTCCURRENCY_CONVERTER_API_KEY- JETON généré dans le compte personnel de l'API du serviceCURRENCY_CONVERTER_API_URL- actuellement (12.12.2024) lien pour se connecter à l'API: https://api.freecurrencyapi.com/v1USE_MOCK_DATAest false ou true. Vous pouvez utiliser des données de test pour tester. Mis en œuvre dans le but de ne pas dépasser les limites du service. Valeur par défaut false
composer i && composer dump-autoloadPour créer une base de données, vous pouvez utiliser
php bin/console doctrine:database:createVous devez appliquer les migrations
php bin/console doctrine:migrations:migrateEn tant que serveur Web utilisé nginx, configuration:
server {
listen 80;
server_name currency-converter.loc;
root /www/freecurrencyapi-converter-php/public;
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
access_log /var/logs/firebird-tours-access.log;
error_log /var/logs/firebird-tours-error.log;
}Faites attention et changez si nécessaire:
server_name- nom de domaineroot- répertoire avec le projet de travail (si nécessaire, remplacerfreecurrencyapi-converter-php)fastcgi_pass- php8.3-fpm.sock, si vous utilisez une autre version de php, remplacez la version (la version de php peut être consultée avec la commande `php-v')access_log/error_log- répertoire jusqu'aux fichiers journaux.
Pour mettre à jour automatiquement les devises via cron. En tant que test, vous pouvez ajouter l'exécution de la commande toutes les minutes
crontab -e
# Pour tester (exécution 1 fois par minute)
* * * * * /bin/php /www/freecurrencyapi-converter-php/bin/console currency:update-rates >> /www/test-tasks/php/firebird-tours.col/var/log/currency_update.log 2>&1Après vérification, vous pouvez augmenter le temps d'appel de la commande de la console jusqu'à 2 fois par jour (à midi et à minuit)
crontab -e
# Effectuer 2 fois par jour: à 00h00 et à 12h00.
0 0,12 * * * /bin/php /www/freecurrencyapi-converter-php/bin/console currency:update-rates >> /www/test-tasks/php/firebird-tours.col/var/log/currency_update.log 2>&1...


