blade @extends('some::thing') 中的含义是什么

问题描述 投票:0回答:3

今天我已经安装了

jeroennoten/laravel-adminlte
,在执行所有安装命令后,我创建了一个视图并只写了一行

@extends('adminlte::page')

它工作正常,但我不明白它是如何工作的?特别是这个

::
符号?我检查了 laravel 文档但找不到任何东西。

请帮助我解释一下,或者提供一些文章/教程链接,我可以从中了解更多信息。

laravel laravel-5 laravel-5.3 laravel-blade
3个回答
5
投票

adminlte
是包的名称,用于 Laravel 中的
views
configs
作为命名空间,以避免与其他包冲突。

它在第 51 行的 ServiceProvider 类中定义。

通过在刀片文件中调用此:

@extends('adminlte::page')

您告诉 Laravel,您想要扩展 page.blade.php 文件。

如果您调用

@extends('page')
,但没有
adminlte::
,它将在您的
page.blade.php
目录中查找
resources/views

您不会在 Laravel 的 Blade 文档部分中看到有关此内容的信息,因为它是特定于 Laravel 包的。您可以从这里了解更多信息。


0
投票

让我用C++的例子来解释一下,因为php语法的影响很大: 在 C++ 中,我们在代码构造中使用像

std::cout << "helloworld";

我们对编译器说“转到命名空间 std 并从中获取函数 std” 所以,当我们使用 php 并编写类似的内容时

{{ $clients->links('pagination::bootstrap-5') }}

将 :: 之前的名字视为命名空间,就像使用它来访问变量或函数一样


-2
投票
:: 

符号是类中静态函数或静态属性的调用,例如,如果您定义这样的类:

class Foo{
    public static $a = 1;
    public static function test(){}; 
}

您可以使用 Foo::$a 获取 $a 的值,并使用 Foo::test() 调用函数 test()。

© www.soinside.com 2019 - 2024. All rights reserved.