【问题标题】:Why won't my title tag change using config()?为什么我的标题标签不会使用 config() 更改?
【发布时间】:2019-02-09 15:45:56
【问题描述】:

我正在关注一个教程,他继续使用config() 更改index.blade.php 中的<title></title> 标记。我正在做他正在做的同样的事情,但出于某种奇怪的原因,它对我不起作用。

我做错了什么,我该如何解决?

这里是index.blade.php

<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{{config('app.name', 'LSAPP')}}</title>
</head>
<body>

</body>
</html>

这里是PagesController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PagesController extends Controller
{
    public function index() {
        return view('pages.index');
    }
}

这里是web.php

Route::get('/', 'PagesController@index');

这是我的.env 文件的一部分:

APP_NAME=LSAPP

【问题讨论】:

  • 您希望实现什么?语法: config(config_name,fallback) 返回配置 config_name 的值,如果值 a 不存在,则返回值“fallback”。在您的情况下,您正在检索值为 LSAPP 的 app.name 并添加 LASPP 的后备,因此无论如何您都应该将标题设为 LSAPP。鉴于您的描述,很难为您提供更多帮助。除了在您发布的代码执行后知道您的标题是什么之外,查看您的 config/app.php 会很有用。另请注意,函数 config(config_name, fallback) 仅从 laravel 5.1 开始可用

标签: php laravel debugging


【解决方案1】:

尝试运行php artisan config:cache 它将清除旧的 .env 文件并缓存新的。

【讨论】:

    【解决方案2】:

    只需将 app.name 替换为 name &lt;title&gt;{{config('name', ' New App Name ')}}&lt;/title&gt;

    【讨论】:

      【解决方案3】:
      <title>{{config('app.name')}}</title>
      

      试试这个。它打印什么?如果它从config/app.php(默认为Laravel)打印默认值,这意味着你的.env在某种程度上是错误的。

      默认情况下,config/app.php 中的所有配置值都包含env() 方法。第一个参数是您的.env 文件中定义的键,第二个是默认值。

      这里是配置助手的文档:

      https://laravel.com/docs/5.7/helpers#method-config

      您也可以尝试将 .env APP_NAME 值括在双引号中:

      APP_NAME="SOME VALUE"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-12
        • 1970-01-01
        相关资源
        最近更新 更多