ফলকটিতে লারাভেল .env ভেরিয়েবল অ্যাক্সেস করা হচ্ছে


89

আমি ব্লেড জাভাস্ক্রিপ্টে ব্যবহার করতে আমার .env ফাইলে সঞ্চিত কিছু এপিআই কীগুলি পাওয়ার চেষ্টা করছি। আমি দুটি কী যুক্ত করেছি:

APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////

ব্লেডে আমার গুগল ম্যাপস এপিআই এবং ওভারহেইডআইও এপিআই কী ব্যবহার করা দরকার। আমি যদি কাস্টম .env ভেরিয়েবলগুলি ভুল করে ফেলেছি তবেই আমি ডিফল্ট .env ভেরিয়েবলগুলির মধ্যে একটি পাওয়ার চেষ্টা করেছি .:

{{ env('APP.ENV') }} // nothing
{{ env('APP_ENV') }} // nothing
{{ env('APP_ENV'), 'test' }} // returns 'test' 

কেউ কি আমাকে গুগল ম্যাপস এপিআই এবং ওভারহেডিও এপিআই ব্লেডের চাবি কল করতে সহায়তা করতে পারে?


12
টিঙ্কার চালাতে php artisan config:clearএবং পরীক্ষা করার চেষ্টা করুন env('APP_ENV')। আমার জন্য এটি localস্ট্রিং ফিরে ।
আলেক্সি মেজেনিন

ধন্যবাদ আলেক্সি! php artisan config:clearকৌতুকটি করেছে
আন্না জিনাইন

@ অ্যালেক্সা মেজেনিন, আপনি উত্তর হিসাবে আপনার মন্তব্য পোস্ট করলে ভাল না?? আমি এসও ব্যবহার করতে বেশ নতুন এবং নিয়ম সম্পর্কে খুব পরিষ্কার নয়।
ম্যানিয়ান


@ ইয়াভেগেনিআফানসিয়েভ সেই প্রশ্নটি আমার নকল, আমি এর আগে জিজ্ঞাসা করেছি ...
আনা জিনাইন

উত্তর:


111

আপনার লারাভেল .env বা ডাটাবেস ফোল্ডারে কিছু পরিবর্তন করার পরে বা অন্য কোনও পরিবর্তনের কারণে যদি প্রত্যাশার মতো কাজ না করে তবে পাঁচটি গুরুত্বপূর্ণ কমান্ড। এখানে সম্পূর্ণ ব্যাখ্যা: https://www.youtube.com/watch?v=Q1ynDMC8UGg

php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear

4
ঠিক কখনও কখনও কারণ হিসাবে,
লারাভেল

4
ভাল জিনিস, কিন্তু মনোযোগ, env ( 'APP_ENV') উৎপাদনে ব্যর্থ হবে দেখতে stackoverflow.com/a/57626957/4820095
ndberg

4
আপনি যখন কমান্ডটি ব্যবহার করেন php artisan config:cacheএবং আমি এটি ব্যবহার করি না তখন @ndberg দয়া করে পড়ুন.
শিক্ষার্থী

হাই @ndberg আমি এই প্রশ্নের আপনার উত্তরটিকে দ্বিগুণ পর্যালোচনা করেছি (উপরের মন্তব্যে লিংক) এবং আপনি php artisan config:cache@Learner উল্লেখ হিসাবে উল্লেখ করেন। তবে, আমি নিশ্চিত নই যে লার্নারের অনুপস্থিতিটি অনুপস্থিত কমান্ডটি যুক্ত করার জন্য সম্পাদনা করা দরকার, বা আপনি কোনও ভুল করেছেন কিনা। দয়া করে, এটি পরিষ্কার করুন
গিলারমো গার্সিয়া

@Learner ঠিক আছে, তিনি তার উত্তরে এটি ব্যবহার করেন না এবং এটির প্রয়োজন নেই। তবে আমি কেবল সমস্ত গুগলারের জন্য রূপরেখা জানাতে চেয়েছিলাম: সাধারণত উত্পাদনে আমরা কনফিগারেশন: ক্যাশে ব্যবহার করি এবং শেষ পর্যন্ত প্রশ্নটিতে ব্যবহৃত কলটি: "এনইভিভি ('অ্যাপ্লিকেশন। এএনভি')" সমস্যা আনবে। সুতরাং এটি কেবল এই উত্তরের একটি সংযোজন ছিল।
এনডিবার্গ

32

আমি এটি নিম্নলিখিত উপায়ে প্রয়োগ করেছি:

@if (env('APP_ENV')!='Production')
Enviroment Test
@endif

আমার সুপারিশটি হ'ল নিম্নলিখিত আদেশটি কার্যকর করা: composer self-update


4
কনফিগারেশন ক্যাশে সক্ষম থাকলে এটি ব্যর্থ হবে। configপরিবর্তে ব্যবহার করুন
ncatnow

4
হিসাবে লেখা যেতে পারে@if(App::environment('production'))
মারভিন রাবে

লারাভেল .1.১+ থেকে আপনি @env (['উন্নয়ন', 'স্থানীয়', 'ইত্যাদি' ইত্যাদি) ব্যবহার করতে পারেন .... @endenv
জেমস

20

অনেক গুরুত্বপূর্ণ

সমস্ত env () পছন্দ: env('APP_ENV')কল করবে না উত্পাদন করতে কাজ করবে (আপনি যখন ব্যবহার করবেন php artisan config:cache)

কী ব্যবহার করবেন?
- শুধুমাত্র কনফিগার ফাইলগুলিতে এনভি ()
ব্যবহার করুন - পরিবেশ পরীক্ষা করার জন্য অ্যাপ :: এনভায়রনমেন্ট (পরিবেশ) ব্যবহার করুন (অ্যাপ্লিকেশন_এনভি ইন। এনভি) in
- অন্যান্য সমস্ত এনভেরি ভেরিয়েবলের জন্য কনফিগার ('app.var') ব্যবহার করুন, প্রাক্তন। কনফিগার ('app.debug')
- আপনার নিজের ENV ভেরিয়েবলের জন্য নিজস্ব কনফিগারেশন ফাইল তৈরি করুন। উদাহরণ:
আপনার .env এ:

MY_VALUE=foo

উদাহরণস্বরূপ কনফিগারেশন অ্যাপ্লিকেশন / myconfig.php

return [
    'myvalue' => env('MY_VALUE', 'bar'), // 'bar' is default if MY_VALUE is missing in .env
];

আপনার কোড অ্যাক্সেস:

config('myconfig.myvalue') // will result in 'foo'

আরও বিশদ এখানে দেখুন


4
কি @ndberg এখানে বলছেন চাবিকাঠি: use env() only in config files। এটি এই প্রশ্নের সেরা উত্তর।
পাঠ্রস

8

আপনি যদি অ্যাপটির পরিবেশ পেতে চান তবে এটি ব্যবহার করে দেখুন:

{{App::environment()}}

আমি অন্যান্য ভেরিয়েবল চেষ্টা করিনি।


4

এটি কনফিগারেশন / ফোল্ডার বাদে অন্য কোথাও এনভি () ব্যবহার করতে সমস্যা সৃষ্টি করে। সেখানে env ব্যবহার করুন এবং তারপরে অ্যাপের অন্যান্য অংশে কনফিগার করুন ()


4

এখানে ডকুমেন্টেশনের লিঙ্কটি রয়েছে: https://laravel.com/docs/6.x/configration#retrieving- পরিবেশ- কনফিগারেশন

নীচের নমুনায়, আমি আমার বিকাশের পরিবেশে থাকাকালীন প্রকৃত ত্রুটিটি ছুঁড়ে ফেলি তবে অন্য কোনও পরিবেশে যদি জেনেরিক বার্তা দেই।

@if(App::environment('development'))
    Error: {{ $record->s_error }}
@else
    XML Parsing Error - Please double check that your file is formatted correctly.
@endif

4

আপনার কেবল .envকনফিগারেশন ফাইলের মধ্যে সরাসরি মানগুলিতে অ্যাক্সেস করা উচিত , তারপরে config()হেল্পার ব্যবহার করে কনফিগারেশন ফাইল থেকে সর্বত্র (নিয়ন্ত্রক, দর্শন) থেকে অ্যাক্সেস করুন

example উদাহরণস্বরূপ:

.env

TEST_URL=http://test

config / app.php

return [
   'test_url' => env('TEST_URL','http://default.url')
];

রিসোর্স / ভিউ / স্বাগতম.blade.php

{{ config('app.test_url')}}

দেখতে কনফিগারেশন ক্যাশে আরও তথ্যের জন্য Laravel নথিপত্র থেকে।


4

লারাভেল .1.১১ থেকে আপনি ফলক টেম্পলেটগুলিতে নির্দেশনা @env('')এবং @production()নির্দেশাবলী ব্যবহার করতে পারেন :

@env('staging')
    // The application is running in "staging"...
@endenv

@env(['staging', 'production'])
    // The application is running in "staging" or "production"...
@endenv

বা

@production
    // Production specific content...
@endproduction

এছাড়াও দেখুন Laravel ফলক ডকুমেন্টেশন



2

মান এখানে পাবেন: config/app.php


ফলক মধ্যে:

{{ config('app.name', 'default value here') }}

শ্রেণিতে / নিয়ন্ত্রক:

config('app.name', 'default value here')


0

আপনি সহজেই ভেরিয়েবল অ্যাক্সেস করতে .env ফাইল সম্পাদনা করার পরে এই কমান্ডটি লেখা উচিত

php artisan config:cache

0

.env ফাইলের কাছ থেকে মান পেতে আমারও সমস্যা হয়েছিল, আমি তখন এটি করেছি এবং এটি সহায়তা করেছে:

  1. এনভির ফাইল পরীক্ষা করে দেখুন এবং আপনি সঠিক মান দিয়েছেন কিনা তা দেখুন।
  2. তারপরে আপনি .env ফাইল থেকে সেই পরিবর্তনশীলটি কোথায় ব্যবহার করছেন তা ফলক বা নিয়ন্ত্রক পরীক্ষা করুন।
  3. উপরের উভয় পদক্ষেপ যদি সঠিকভাবে চলে যায় তবে আপনাকে কেবল এই পদক্ষেপগুলি করতে হবে -

পিএইচপি কারিগর কনফিগারেশন: পরিষ্কার
পিএইচপি কারিগর ক্যাশে: পরিষ্কার
পিএইচপি কারিগর দর্শন: পরিষ্কার
পিএইচপি কারিগর রুট: পরিষ্কার
সুরকার ডাম্প-অটোলোড

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.