【问题标题】:How to use `@` as a function in laravel 6如何在laravel 6中使用`@`作为函数
【发布时间】:2020-03-13 06:19:52
【问题描述】:

我正在建立一个网站,我正在创建一个管理员和用户登录表单,但我遇到了一些问题,因为当我尝试输入例如 @extends 或任何其他带有 @ 的函数时,它不会改变颜色或做任何事(抱歉没有说清楚)。所以基本上它不是一个函数,而只是一个简单的文本,稍后会显示在网站上的显示器上。如果有人可以帮助我,我会很高兴,因为我已经尝试了几个小时,完成这个网站对我来说很重要

Image of code in my editor where the color is not changing

Image of code that isn't working correctly

adminLoginController

This is what i get on localhost

This is what i did trying to add layout

【问题讨论】:

  • 评论不用于扩展讨论;这个对话是moved to chat
  • 您需要确保刀片文件位于正确的位置,例如。

标签: php html laravel laravel-blade


【解决方案1】:

缺少颜色高亮是“语法高亮”。您的编辑器需要支持 Blade 才能正确突出显示 Blade 语法。

Blade 指令 @extends 需要一个参数/表达式:

@extends('layouts.app')

“定义子视图时,使用 Blade @extends 指令指定子视图应该“继承”哪个布局。

Laravel 6.x Docs - Blade - Extending a Layout@extends()

在渲染这些模板时,如果您希望它成为 Blade 模板,请确保文件以 .blade.php 结尾。

“刀片视图文件使用.blade.php 文件扩展名,通常存储在resources/views 目录中。”

Laravel 6.x Docs - Blade - Introduction

更新:

resources/views 中没有layouts 目录。您需要扩展现有布局。从您的结构的外观来看,您的意思是扩展auth.layouts.app

@extends('auth.layouts.app')

另外,您没有在布局中将 @section('content') 定义为 @yielded。

@extends('what.ever.layout.you.want.to.use')

@section('content)
    <!-- your content here -->
@endsection

【讨论】:

  • +1,因为那些不加解释地投反对票的人没有帮助。您的答案也是正确的 - @Natalie,您的第二个屏幕截图没有正确使用 @extends 指令。请将其用作此答案中发布的函数extends('another.component')
【解决方案2】:

请确保您的刀片文件文件名格式为:

my_custom_file.blade.php

不仅仅是:

my_custom_file.php

如果你只是以 .php 结束文件,那么 Laravel 不会将其作为 Blade 模板处理。 @extends 指令是 Blade 模板功能,需要 Laravel 将其预处理为常规 PHP 才能正常工作。当您使用 return view('my_custom_view') 语法时,它会自动执行此操作。此行将首先在resources/views/my_custom_view.blade.php 中查找文件。

【讨论】:

  • 是的,不知道为什么会在答案上大打出手,但你的回答也是我的第一个假设
【解决方案3】:

从你的文件结构 layouts.blade.php 位于你的views目录中,所以你需要做的是:

@extends('布局')

扩展 layouts.blade.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多