what is .env file and how it's works

what is .env file and how it's works

আসসালামু আলাইকুম

আসলে লারাভেল এর ফোল্ডার ফাইলগুলো দেখে মাথা একটু আউলা ঝাউলা হতেই পারে প্রথমের দিকে কিন্তু ভয় পাইয়েন না এগুলো অনেক সুন্দর এবং গোছানো আছে। আসলে লারাভেল ফুল একটা প্যাকেজ সব কিছুই করতে পারবেন এখান থেকে তাই ফাইল গুলো একটু বেশি।

তবে একটা প্লাস পয়েন্ট আপনার থাকবে সেটা হল এই একটা mvc প্যাটার্ন জানলেই আপনি সব রকমের framework সম্পর্কে অবগত হয়ে যাবেন।

এবার আসি কাজের বিষয়ে আজকে. env file নিয়ে লিখব।অনেক অনেক ধন্যবাদ রাসেল ভাই motivate করার জন্য।

.env file টা মনে গুপ্ত ইনফরমেশন সংগ্রহ করা থাকে।বিভিন্ন ধরনের কানেকশন এখান থেকেই হয়।একটা website এর unique key ও এখানেই রয়েছে।

APP_NAME=Laravel

APP_ENV=local

APP_KEY=base64:EGm7j+71peFw0rOTFt1hl1UbVNr73XMhwv6NXLo4PIU=

APP_DEBUG=true

APP_URL=localhost

এখানে দেখেন. env file এর প্রথমেই app_name,key,debug url সব গুলো দেওয়া আছে।

\==>APP_URL আপনার ওয়েবসাইটের url

\==>নতুন কোন প্রজেক্ট গিটহাব থেকে ডাউনলোড করে প্রথমেই আপনাকে key generate করে নিতে হবে যাতে করে আপনার প্রজেক্ট টা রিকোয়ারমেন্ট ফলো করে স্মুথলি চলে।

তাই এই কমান্ড টি ব্যাবহার করা হয়। php artisan key:generate

\==>আপনার app name change করলেই আপনার app এর নাম পরিবর্তন হবে।

\==>debug টা develop করার সময় true করে রাখলে এটা বিভিন্ন ধরনের এরর গুলো show করে যেটা আমরা website টা অনলাইন করার আগেই সমাধান করতে পারি।

\==>Database connection অনেক গুরুত্বপূর্ণ একটা অংশ।

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=laravel

DB_USERNAME=root

DB_PASSWORD=

প্রাথমিক অবস্থায় DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=এখানে আপনার database name হবে।

localhost এ default ভাবে DB_USERNAME=root থাকে।তবে আপনি পরিবর্তন করতে পারেন।

default ভাবে DB_PASSWORD= ফাকা থাকে তবে আপনি দিতে পারেন।

\==>development এর সময় mailtrap,mailhog এর configuration, real email এর configuration সব ই এখানে করা হয়।

MAIL_MAILER=smtp

MAIL_HOST=mailhog

MAIL_PORT=1025

MAIL_USERNAME=null

MAIL_PASSWORD=null

MAIL_ENCRYPTION=null

MAIL_FROM_ADDRESS=null

MAIL_FROM_NAME="${APP_NAME}"

এটা mail hog এর।

\==>>অনেক গুরুত্বপূর্ণ একটা অংশ aws এটা advance এটার configuration ও এখানে করা হয়।ভবিষ্যতে এখানে শেয়ার করব aws নিয়ে ইনশাল্লাহ যতটুকু আমি জানি।

AWS_ACCESS_KEY_ID=

AWS_SECRET_ACCESS_KEY=

AWS_DEFAULT_REGION=us-east-1

AWS_BUCKET=

AWS_USE_PATH_STYLE_ENDPOINT=false

আরো অনেক কিছুই রয়েছে এই ফাইল এ। full project github এ upload করলেও এটা করা হয় না। কারন টা বুঝতে পারছেন আশা করি।

কারন আপনার .env ফাইল এর ইনফরমেশন কেউ জানলে আপনার সাইট চাদের দেশে পাঠিয়ে দেবে!

আশা করছি বুঝতে পেরেছেন। আবার লিখব খুব শীগ্রই অন্য একটা টপিক নিয়ে।

happy learning ️