@zakopiak: @nieoficjalny_rzecznik: @panDocent: dzieki, tak czułem a pytanie jeszcze mam do Was o zmienne srodowiskowe, jak mam cos powpisywane w .env to te zmienne sa jakies globalne i moge w kazdym pliku w projekcie sie jakos do nich odwolac?
przyklad mam w env
APPNAME=WYKOP
a pozniej w ogole w innym pliku gdzies tam nagle z dupy u gory:
https://www.php.net/manual/en/function.getenv.php służy do pobierania zmiennych środowiskowych. Ale żeby PHP załapał te zmienne z tego pliku, to najpierw musi użyć np. https://github.com/vlucas/phpdotenv. Ale zakładam, że jak się uczysz PHP to jeszcze nie znasz composera, którym najpierw instalujesz tą bibliotekę phpdotenv i później ją wrzucasz do autoloadera.
To, że w jakimś innym pliku masz coś napisane, to znaczy, że ktoś tak napisał i tyle. Pewnie chciał coś obejść, bo nie wiedział, jak to zmienić.
@rosso_corsa: PHP nie obsługuje .env out of the box. Zwykle używa się do tego jakiejś biblioteki typu vlucas/phpdocenv. Jeśli masz jakiś framework, to jest duża szansa, że on już to również robi.
i teraz w tej zmiennej $config['name'] mam to string dev czy ENV ? bo dziwi mnie zapis $config['name'] = 'ENV'; jest tak jakby string przypisany a nie zmienna srodowiskowa czy stała
@rosso_corsa: Wszystko możesz sobie sprawdzić najlepiej używając xdebuga, lub ewentualnie var_dumpem
Jak już wyżej wspominaliśmy, do załadowania .env potrzebujesz czegoś co to zrobi, zakładam, że masz i rzeczy z tego pliku lądują już w PHP jako zmienne środowiskowe.
define('ENV', getenv('ENV')); getenv pobiera wartość tej zmiennej środowiskowej, a define tworzy stałą globalną o tej nazwie i przypisuje jej cokolwiek ten getenv zwróci.
$config['name'] = 'ENV'; To jest przypisanie zwykłego stringa, a
czyli jakby stała ENV jest jako przstarzała? jeszcze nie czaje tego doczytam, chodzilo mi glownie ze $config['name'] = 'ENV'; przypisuje mi stringa a nie stałą na co mogłoby wyglądać
Nie pozdrawiam bezmózgów którzy osobie z ukraińskimi blachami wybazgrali samochód i przebili opony na jednym z podkrakowskich Taurusow, można nie lubić Ukraińców ale trzeba na prawdę mieć gówno zamiast mózgu by robić takie rzeczy losowej osobie której się nawet nie zna
ucze sie #php, czy powyzsze przypisanie wartosci ozncza zapis do tablicy ktora bedzie wygladala w ten sposob?
['row', ['charset' => 'utf8']]
#naukaprogramowania
$obj = [
'row' => [
'char_set' => 'utf8',
],
];
przyklad mam w env
APPNAME=WYKOP
a pozniej w ogole w innym pliku gdzies tam nagle z dupy u gory:
$nazwa = APPNAME;
ヽ( ͠°෴ °
Ale żeby PHP załapał te zmienne z tego pliku, to najpierw musi użyć np. https://github.com/vlucas/phpdotenv. Ale zakładam, że jak się uczysz PHP to jeszcze nie znasz composera, którym najpierw instalujesz tą bibliotekę phpdotenv i później ją wrzucasz do autoloadera.
To, że w jakimś innym pliku masz coś napisane, to znaczy, że ktoś tak napisał i tyle. Pewnie chciał coś obejść, bo nie wiedział, jak to zmienić.
w .env:
ENV=dev
w index.php stała:
define('ENV', getenv('ENV'));
pozniej w jakims pliku:
$config['name'] = 'ENV';
i teraz w tej zmiennej $config['name'] mam to string dev czy ENV ? bo dziwi mnie zapis $config['name'] = 'ENV'; jest tak jakby string przypisany a nie zmienna srodowiskowa czy stała
var_dump
emJak już wyżej wspominaliśmy, do załadowania .env potrzebujesz czegoś co to zrobi, zakładam, że masz i rzeczy z tego pliku lądują już w PHP jako zmienne środowiskowe.
define('ENV', getenv('ENV'));
getenv pobiera wartość tej zmiennej środowiskowej, a define tworzy stałą globalną o tej nazwie i przypisuje jej cokolwiek ten getenv zwróci.
$config['name'] = 'ENV';
To jest przypisanie zwykłego stringa, a
define('BASE', empty(getenv('ENV')) ? 'ENV' : getenv('ENV') );
czyli jakby stała ENV jest jako przstarzała? jeszcze nie czaje tego doczytam, chodzilo mi glownie ze
$config['name'] = 'ENV';
przypisuje mi stringa a nie stałą na co mogłoby wyglądać