Unable to get constant variable in Laravel 5.4 - laravel-5

I create file named constants.php in project\config folder
The content is
<?php
return [
'foo' => 'bar',
];
?>
But I get empty response while I do config('constants.foo') or Config::get('constants.foo')
Where I'm doing wrong?

Update the autoloader and clear the config cache.
Run
composer dump-autoload
Then
php artisan config:clear

Related

How to change default language in Laravel?

I want my site to only be in swedish language. How to accomplish this?
In my lang/sv/ folder I have six files.
auth.php
pagination.php
passwords.php
sv.json
validation-inline.php
validation.php
The page source says html lang="sv" but everything is in english.
Also the email verification is in english.
This is what I have done so far.
In app\config\app.php I have change this
'locale' => 'sv',
'fallback_locale' => 'sv',
In my terminal I have run these commands.
composer dump-autoload
php artisan config:clear
php artisan view:clear
php artisan cache:clear
php artisan event:clear
php artisan optimize:clear
What else can I do?
I'm using Laravel 8.12.
I solved it. I had the sv.json file in the wrong folder.
It should be in lang folder not in lang\sv\ folder.

dump($_ENV) not working in laravel version 7x

Here the code
Controller :
public function index()
{
dump($_ENV);
}
Route :
Route::get('/', 'HomeController#index');
I can't display env file in the screen
Try:
php artisan config:clear
php artisan cache:clear
composer dump-autoload
chek:
{{ env('APP.ENV') }}
your doing things in wrong way try this
env('APP_ENV');
getenv('APP_ENV');
if your using cache then you can access the value from config like this .
config('app.env');
or using facede
Config::get('app.env');
If your $_ENV array is mysteriously empty, but you still see the variables when calling getenv() or in your phpinfo(), check your http://us.php.net/manual/en/ini.core.php#ini.variables-order ini setting to ensure it includes "E" in the string.

Laravel 5.6 env('APP_BASE_URL') returns null

In staging and production environment, when I try to get my custom defined variable from .env file, it returns null. I have tried creating new Key for APP and cleared all sort of caches, but result is same.
APP_NAME="App - Staging"
APP_ENV=staging
APP_KEY=<HIDDEN_KEY>
APP_DEBUG=true
APP_LOG_LEVEL=none
APP_URL=https://staging.app.com
APP_BASE_URL="https://app-staging.app.com"
Clearing Cache
php artisan config:clear
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan config:cache
But when using following in blade view gets nothing
env('APP_BASE_URL') returns null
It is because you have run php artisan config:cache. If you are using config:cache, your env() calls should only be made in your config files.
See here: https://laravel.com/docs/5.6/configuration#configuration-caching
This post solved my issue, I defined custom config in config/app.php
https://laracasts.com/discuss/channels/laravel/accessing-custom-environment-variable
/*
|-------------------------------------------------------------------------
| Custom config variables
|-----------
|
*/
'base_url' => env('APP_BASE_URL', 'http://localhost'),
Then in .env I definded:
APP_BASE_URL="https://app-staging.app.com"
Finally cleared the cache, worked.
In blade view
{{ config('app.base_url') }}
Yes it will return only null
If you execute the config:cache command during your deployment process, you should be sure that you are only calling the env function from within your configuration files. Once the configuration has been cached, the .env file will not be loaded and all calls to the env function will return null.
See the laravel documentation https://laravel.com/docs/5.6/configuration#configuration-caching

Getting messages feature in Debugbar to work in Laravel

I've installed Debugbar for Laravel as described in the steps on the website https://laravel-news.com/laravel-debugbar; and tried to make use of the Messages feature by placing the following below in my code.
Debugbar::info($object);
Debugbar::error('Error!');
Debugbar::warning('Watch out…');
Debugbar::addMessage('Another message', 'mylabel');
But when I run my website, I get the error message from Laravel saying:
1/1
FatalErrorException in HistoryController.php line 11:
Class 'App\Http\Controllers\Debugbar' not found
I have to go like /Debugbar::info(...) or put use Debugbar at the top of my code to not get the error message. Why can't I use it straight like Debugbar::info(...)?
To be able to reference the facade without prefixing it with \ you should add
use Barryvdh\Debugbar;
to the top of your controller.
after adding setting code in /config/app.php
you can use it as a facade
app('debugbar')->info('info message');
or
debugbar()->info('message');
no need use
I think you should try this :
first you add below code in config/app.php
in provider section
'Barryvdh\Debugbar\ServiceProvider',
in aliases section
'Debugbar' => 'Barryvdh\Debugbar\Facade',
after you should clear the cache like:
php artisan config:cache
php artisan cache:clear
php artisan config:clear
Hope this work for you !
Firstly, Go to the terminal and install by typing:-
composer require barryvdh/laravel-debugbar
In second step, Check your laravel verision:-
php artisan --version
In third if your laravel version is greater than 5(Laravel 5.x)
add the ServiceProvider to the providers array in config/app.php
Barryvdh\Debugbar\ServiceProvider::class,
add this to your facades in app.php:
'Debugbar' => Barryvdh\Debugbar\Facade::class,
Finally, published vendor configuration by command:-
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
After vendor published clear cache,route,view by command
php artisan cache:clear
php artisan route:clear
php artisan config:clear
php artisan dump-autoload -o

laravel 5.2 config constant does not work on server

i seperate my strings and put them in Constant directory in textConstant.php file , in my localhost everythings are okey but when i uploads my code on my server the string fade out and nothing show in my screen ,
here is my constant file :
return [
'title' => 'test',
'book' => 'book_test',
];
and here is my code that use constant :
<button>{{config('Constants.textConstant.book')}}</button>
please help me to solve my problem because my site cannot be usable, thanks alot :)
Try to run the following code over commandline if you have enabled the cache.
php artisan config:clear
php artisan config:cache.
In CMD;
Write first
php artisan config:clear
Then
php artisan config:cache
Hope this will work.

Resources