# Promenne souboru `.env`: ## 1) `APP_ENV` - Tato promenna je vlastne pro systemy Laravelu, an zaklade ni se pak nastavuji dalsi 'systemove' promenne Laravelu - V nasem pripade ja to nikde nepouzivam, ale je mozne ze az nekdo bude pridelavat neco jineho tak to urcite pouzije - Hodnoty teto promenne vlastne zalezi na to jak si to uzivatel zvoli, ale best-practice je hodnota `production` pro produkci a hodnota `local` pro development - Samozrejme pokud chceme mit vice fazi tak klidne muzeme mit: `production`, `local`, `staging`, `testing`, apod. - Tady teda poprosim v tom `prepare.sh` nastavit hodnotu `production` pro produkci a hodnotu `local` pro development ## 2) `APP_DEBUG` - Tato promenna je pro systemy Laravelu a urcuje zdali se maji vypisovat chyby a warningy - Mozne hodnoty: `true` nebo `false` - Tady teda poprosim v tom `prepare.sh` nastavit hodnotu `false` pro produkci a hodnotu `true` pro development ## 3) `CUZKWSDP_MODE` - Toto je promenna kterou jsem si vytvoril a slouzi ciste pro moje ucely aby aplikace vedela zdali se maji pouzit produkcni data nebo development data - Mozne hodnoty: `dev` pro development a `prod` pro produkci - Hodnota teto promenne ma vliv na: - to jaka DB se pouzije - cestu ke slozce kam se ukladaji persistentni data - jake pristupove udaje se pouziji pro volani cizi API - zdali se vola testovaci APi nebo produkcni API - Tady teda poprosim v tom `prepare.sh` nastavit hodnotu `prod` pro produkci a hodnotu `dev` pro development # DULEZITE: 1) Jak vidis rozdil mezi `APP_ENV` a `CUZKWSDP_MODE` je zjevny. `CUZKWSDP_MODE` jsem vytvoril protoze ta cizi APIna kterou volam ma stage - produkcni prostredi a testovaci prostredi. Zatimco `APP_ENV` se tyka nasi aplikace - pokud napr. v budoucnu pridame `staging` tak to lze pridat a nemusi to mit vliv na `CUZKWSDP_MODE` 2) Dulezite je aby se po modifikaci souboru `.env` provedl prikaz `php artisan config:clear` - tzn. po tom, co probehne ten `prepare.sh` # Perzistentni data To do jake slozky se maji ukladat presistentni data (konkretne ta CSVcka) mam v `.env` promenne `CUZKWSDP_SESTAVY_PATH`. Tuto promennou `CUZKWSDP_SESTAVY_PATH` ale v `.env` souboru nenajdes, protoze tu cestu stanovuju napevno v `config\cuzkwsdp.php`: ```php $mode = env('CUZKWSDP_MODE', 'dev'); // Zjistim mod CUZKWSDP_MODE z .env switch ($mode) { // Na zaklade modu urcim dalsi veci case 'prod': $wsdl_base_url = env('CUZKWSDP_WSDL_BASE_URL_PROD', 'https://katastr.cuzk.cz'); $username = env('CUZKWSDP_USERNAME_PROD', 'WSTEST'); $password = env('CUZKWSDP_PASSWORD_PROD', 'WSHESLO'); $sestavy_path = env('CUZKWSDP_SESTAVY_PATH', public_path('storage') . '/sestavy'); $sestavy_base_url = env('CUZKWSDP_SESTAVY_BASEURL', '/public/storage/sestavy/'); break; default: case 'dev': $wsdl_base_url = env('CUZKWSDP_WSDL_BASE_URL_DEV', 'https://wsdptrial.cuzk.cz/trial'); $username = env('CUZKWSDP_USERNAME_DEV', 'WSTEST'); $password = env('CUZKWSDP_PASSWORD_DEV', 'WSHESLO'); $sestavy_path = env('CUZKWSDP_SESTAVY_PATH', public_path('storage') . '/sestavy-dev'); $sestavy_base_url = env('CUZKWSDP_SESTAVY_BASEURL', '/public/storage/sestavy-dev/'); break; } return [ 'wsdl_base_url' => $wsdl_base_url, // URL adresa APIny 'username' => $username, // username do APIny 'password' => $password, // heslo do APIny 'sestavy_path' => $sestavy_path, // cesta kam se ulozi presistentni data 'sestavy_base_url' => $sestavy_base_url, // cesta kam se ulozi presistentni data ale urceno pro frontend ]; ``` Pokud si projekt rozjedu na lokale, tak budu mit: ```php $sestavy_path = 'C:\dev2\cuzkdekcz\public\storage/sestavy-dev'; // 'cuzkdekcz' je root projektu/repozitare $sestavy_base_url = '/public/storage/sestavy-dev/'; ``` Jak vidis `$sestavy_path` je pro back-end abych to uchopil v PHP a pak ten soubor ulozil na to patricne misto napr. pres `file_put_contents`: ```php file_put_contents($sestavy_path . "/soubor.xml", $content); ``` Zatimco `$sestavy_base_url` je pro front-end aby si clovek mohl stahnout ten soubor kdyz do prohlizece zada tu cestu - v pripade ze appka bezi na `http://127.0.0.1:8000`, tak cesta k souboru bude `http://127.0.0.1:8000/public/storage/sestavy-dev/soubor.xml` Doposud se to tedy ukladalo sem: `root_repa/public/storage/` Nyni teda bych te poprosil v tom `prepare.sh` nastavit hodnotu promenne `CUZKWSDP_SESTAVY_PATH` dle toho kam to chces ukladat. Na zaklade toho `CUZKWSDP_SESTAVY_PATH` pak nejak urcim hodnotu toho `$sestavy_base_url` coz je cesta k ulozisti pro frontend nebo ji muzes rovnou nastavit v promenne `CUZKWSDP_SESTAVY_BASEURL` v tom `prepare.sh`
{"metaMigratedAt":"2023-06-17T20:44:04.959Z","metaMigratedFrom":"Content","title":"Promenne souboru `.env`:","breaks":true,"contributors":"[{\"id\":\"ff49ce2d-4ea9-46b9-90aa-038a40cf080d\",\"add\":4706,\"del\":0}]"}
Expand menu