Skip to main content

Command Palette

Search for a command to run...

লারাভেল .env ফাইল কি? কিভাবে এই ফাইল সম্পর্কে ধারনা নিবেন।

Updated
4 min read
লারাভেল .env ফাইল কি? কিভাবে এই ফাইল সম্পর্কে ধারনা নিবেন।

লারাভেল ইনস্টল করার পর প্রোজেক্ট ফোল্ডারে .env নামে একটি ফাইল থাকে। .env ফাইল বলতে বুঝায় এনভায়রনমেন্ট ভেরিয়েবল। লারাভেলে একটি এপ্লিকেশন কনফিগার করার জন্য ডিফল্টভাবে কিছু ইনভাইরনমেন্ট ভেরিয়েবল সেট করা থাকে। বিভিন্ন ডিরেক্টরি থেকে এই ভেরিয়েবলগুলো ব্যবহার করা হয়। প্রয়োজন হলে এই ফাইলের মধ্যে নতুন করে কাস্টম ভেরিয়েবলও সেট করা যায়। আজকে ডিফল্ট ভেরিয়বল গুলো সম্পর্কে কিছু আইডিয়া শেয়ার করতে চাই।

.ENV ফাইলের সুবিধা:

  • এই ফাইলের ভিতরে সকল গুরুত্বপূর্ণ ভেরিয়েবলগুলো এক জায়গায় থাকে। এখান থেকে সহজে ভ্যালুগুলো সেট করে বা পরিবর্তন করে এপ্লিকেশনটি কনফিগার করতে পারবেন। প্রয়োজনে আরো ভেরিয়েবল এই ফাইলে এড করে রাখতে পারবেন কাজের সুবিধার্থে।

ফরম্যাট অফ ভ্যারিয়েবলস:

  • প্রথমে ভেরিয়েবল এর নামগুলো লেখা থাকে। তারপর সমান ( = ) চিহ্ন দিয়ে ভেরিয়েবল এর ভ্যালুগুলো লেখা থাকে। যেমন:

variable_name = value

  • আমরা যেহেতু .env ফাইল অনুযায়ী আলোচনা করছি। তাই .env ফাইল এর ভেতরে প্রথমে আমরা APP সম্পর্কিত কয়েকটি ডিফল্ট ভেরিয়েবল দেখতে পাবো। যেমন:

এপ্লিকেশন নেম (APP_NAME = ),

অ্যাপ্লিকেশন ইনভাইরনমেন্ট (APP_ENV = ),

অ্যাপ্লিকেশন কি (APP_KEY =,

অ্যাপ্লিকেশন ডিবাগিং (APP_DEBUG = ) ,

অ্যাপ্লিকেশন ইউআরএল (APP_URL = )

  • এপ্লিকেশন সম্পর্কিত এই ভেরিয়েবলগুলো ব্যবহৃত হয় config ফোল্ডারের ভেতরে app.php ফাইলে। app.php ফাইল ওপেন করলে বিস্তারিত দেখতে পাবেন।

APP_NAME = Laravel

  • ডিফল্টভাবে অ্যাপ্লিকেশন নেম এর ভ্যালু (Laravel) সেট করা থাকে। এই নাম পরিবর্তন করে আমরা আমাদের এপ্লিকেশন এর নতুন নাম সেট করতে পারি।

APP_ENV =

  • এই ভেরিয়েবল এর কয়েকটি ভ্যালু রয়েছে। যেমন: production, local, development, staging. কনফিগ ফোল্ডারের ভেতর app.php ফাইল ওপেন করলে ডিফল্ট ভ্যালু দেখতে পারবেন। অ্যাপ এনভায়রনমেন্ট production রেখে কাজ করলে এপ্লিকেশনে কোন এরোর থাকলে সেটি দেখা যাবে না। কারন এক্ষেত্রে ডিবাগিং false হিসেবে কাজ করে।

APP_ENV = production

APP_DEBUG = false

আবার

  • Localhost এ কাজ করলে এপ্লিকেশনে যদি কোন ইরোর থাকে তাহলে সেগুলো ডিবাগিং এর মাধ্যমে দেখতে পারবেন। সেক্ষেত্রে "ডিবাগিং ট্রু" হিসেবে কাজ করে। আপনি চাইলে পরিবর্তন করতে পারবেন।

APP_ENV = local

APP_DEBUG = true

অ্যাপ্লিকেশন কি (APP_KEY = )

  • এপ্লিকেশন key জেনারেট করা কিন্তু কঠিন নয়। শুধু একটি কোডের মাধ্যমে কি জেনারেট করতে পারবেন। টারমিনাল থেকে প্রজেক্ট ফোল্ডারে গিয়ে লিখবেন

php artisan key:generate

  • লেখার পর দেখবেন অটোমেটিক্যালি key জেনারেট হয়ে APP_KEY এর ভ্যালু হিসেবে সেট হয়ে যাবে।

অ্যাপ্লিকেশন ইউআরএল (APP_URL = )

  • আপনার এপ্লিকেশনটি যে url এ থাকবে, এখানে সেই url সেট করে নিতে হবে। ডিফল্টভাবে APP_URL এর ভ্যালু http://localhost সেট করা থাকে। লাইভ সার্ভারে কাজ করার ক্ষেত্রে এটি চেঞ্জ না করলেও সমস্যা হয় না। তবে কিছু কিছু ক্ষেত্রে সমস্যা হয়। তাই লাইভ সার্ভারের ক্ষেত্রে url চেঞ্জ করে মেইন ডোমেইন অর্থাৎ রুট ডিরেক্টরি সেট করে রাখা ভালো।

এবার ডাটাবেজ সম্পর্কিত কয়েকটি ভ্যারিয়েবল নিয়ে আলোচনা শেয়ার করি। .env ফাইলের মধ্যে ডাটাবেজ সম্পর্কিত ৬টি ভ্যারিয়েবল ডিফল্টভাবে দেয়া থাকে। একটু কম বেশি হতে পারে। যেমন:

DB_CONNECTION=mysql

DB_CONNECTION=mysql

DB_PORT=3306

DB_DATABASE=laravel

DB_USERNAME=root

DB_PASSWORD=

প্রথমে ডাটাবেজ কানেকশন সম্পর্কে একটু ধারনা শেয়ার করি।

DB_CONNECTION =

  • ডাটাবেজ কানেক্ট করার জন্য আপনি কোন কুয়েরি ল্যাঙ্গুয়েজ সিলেক্ট করতে চান, সেটি এখান থেকে সিলেক্ট করে দিতে হবে। ডিফল্টভাবে mysql সেট করা থাকে। আপনি চাইলে sqlite, pgsql, sqlsrv সেট করে কাজ করতে পারেন। তবে আপনি যেটি ভালো জানেন, অবশ্যই সেটি দিয়েই কাজ করবেন।

  • এর বাইরে অন্য কোন কুয়েরি ল্যাঙ্গুয়েজ দিয়ে ডাটাবেজ কানেক্ট করতে চাইলে config/database.php ফাইল ওপেন করে ম্যানুয়ালি সেট করে নিতে হবে।

DB_HOST =

  • ডাটাবেজ হোস্ট নিয়ে তেমন কিছু বলার নাই। যাহাই ১২৭.০.০.১ তাহাই লোকালহোস্ট।

DB_PORT=3306

  • আর আপনি কোন কুয়েরি ল্যাঙ্গুয়েজ ব্যবহার করছেন তার উপর ডিপেন্ড করছে, ডাটাবেজ পোর্ট কি হবে। যেমন:

DB_PORT=3306 (MySQL)

DB_PORT=5432 (pgsql)

DB_PORT=1433 (sqlsrv)

DB_DATABASE

  • ডাটাবেজ সিলেকশন করার পর আমাদেরকে একটি ডাটাবেজ ক্রিয়েট করতে হবে।

DB_DATABASE= yourDatabaseName

DB_USERNAME=

  • তারপর একটি ডাটাবেজ ইউজার তৈরি করতে হবে। ইউজার তৈরি করার সময় একটি পাসওয়ার্ড সেট করে রাখা ভালো। তবে ডিফল্টভাবে root নামে একটি ইউজার সেট করা থাকে। যার কোন পাসওয়ার্ড সেট করা থাকে না। সেটি দিয়েও প্রাকটিস করতে পারেন।

DB_USERNAME=root

DB_PASSWORD=

বিগিনারদের জন্য উপরের ব্যাপারগুলো খুবই ক্লিয়ার থাকা জরুরি।

যারা একটু এডভ্যান্স তারা এই বাকি ভ্যারিয়েবল গুলোর সাথে পরিচিত হবেন যেভাবে।

  • মনে করুন, BROADCAST DRIVER ভ্যারিয়েবল সম্পর্কে জানতে চান। তাহলে প্রথমে config ফোল্ডারের ভেতরে যাবেন। তারপর broadcasting.php ফাইল ওপেন করবেন। তারপর দেখতে পাবেন BROADCAST DRIVER ভ্যারিয়েবল কেন প্রয়োজন? এর ডিফল্ট ভ্যালু কি?

  • একটু লক্ষ্য করলে BROADCAST DRIVER ভ্যারিয়েবলের ভ্যালুগুলো দেখতে পাবেন। যেমন: pusher, ably, redis, log, null । এখন আপনাকে ধৈর্য নিয়ে পড়া শুরু করতে হবে। জানার চেষ্টা করতে হবে কোন ভ্যালুটা কিভাবে কাজ করে।

আশাকরি একইভাবে অবশিষ্ট ফাইলগুলো ওপেন করে আইডিয়ে নিতে পারবেন-

  • CACHE_DRIVER=file এর জন্য cache.php

  • FILESYSTEM_DISK=local এর জন্য filesystems.php

  • QUEUE_CONNECTION=sync এর জন্য queue.php

  • SESSION_DRIVER=file এর জন্য session.php

  • MAIL_MAILER=smtp এর জন্য mail.php

M

নাঈমুর রহমান ভাইয়ের আর্টিকেল পড়ে অনেক কিছু জানতে পারলাম তার প্রশংসা না করে পারছিনা আশা করি আরো ভালো ভালো আর্টিকেল রেখে আমাদের অনেক সুবিধা করে দেবেন আপনার আর্টিকেলগুলো পড়ে অনেক জটিল বিষয়গুলো জানতে পারছি যেগুলো বুঝতে পারছি কিভাবে কঠিন গুলো হচ্ছে এগিয়ে যেতে হবে ধন্যবাদ

More from this blog

We discuss basic routing

বেসিক রাউটিং সফটওয়্যার আর্কিটেকচারে রাউট হচ্ছে মৌলিক উপাদান(Basic Component). রাউট URL(URL = Uniform Resource Locator) থেকে অনুরোধ গ্রহণ করে এবং এপ্লিকেশনকে রিসোর্সের জন্য নির্দেশনা প্রদান করে। লারাভেলের রাউট সমূহ একই সাথে সুবিন্যস্ত করে রাখার জন্য r...

Jun 1, 20233 min read

Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

এখন কোডিংয়ের স্পীড হবে রকেটের গতি যদি আপনি ব্লগটি পড়েন এবং শর্টকাট ব্যবহার করেন তাহলে চলুন শুরু করি। Visual Studio Code এডিটর কি-বোর্ড শর্টকার্টঃ MAC ও WINDOWS এর জন্য আলাদা কি-বোর্ড শর্টকাট নিচে দেওয়া হল- Visual Studio Code এর কমান্ড পেলেট কিভাবে ওপ...

Jun 1, 20233 min read
Visual Studio Code এডিটর কি-বোর্ড শর্টকার্ট

WordPress Support Engineer Input Field And Form

আজকে আমরা আলোচনা করব আমাদের WordPress Support Engineer Course এর ক্লাস ২ নিয়ে এবং আমাদের টপিক হলো html input fields. ইনপুট ফিল্ডে বিভিন্ন রকম টাইপ রয়েছে এর মধ্যে default html,html-5,iput type="text" ইত্যাদি। তো চলুন শুরু করি ।প্রথমেই আমরা আলোচনা করব ...

May 7, 20233 min read

Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস

সবার প্রথমে আমাদের একটা Directory বানাতে হবে। আপনার Project এর নাম দিয়ে একটি Directory বানিয়ে ফেলুন। এরপর যেকোনো একটা Terminal ব্যবহার করে এই Directory তে ঢুকুন। npm install -D tailwindcss autoprefixer vite এই কমান্ড Terminal-এ দিবো। এক্সট্রা হিসেবে...

Apr 3, 20232 min read
Tailwind Css CLI ব্যাক্ষ্যা সহ Install প্রসেস
S

Shikhun Blog

96 posts