今天我已经安装了
jeroennoten/laravel-adminlte
,在执行所有安装命令后,我创建了一个视图并只写了一行
@extends('adminlte::page')
它工作正常,但我不明白它是如何工作的?特别是这个
::
符号?我检查了 laravel 文档但找不到任何东西。
请帮助我解释一下,或者提供一些文章/教程链接,我可以从中了解更多信息。
adminlte
是包的名称,用于 Laravel 中的 views
和 configs
作为命名空间,以避免与其他包冲突。
它在第 51 行的 ServiceProvider 类中定义。
通过在刀片文件中调用此:
@extends('adminlte::page')
您告诉 Laravel,您想要扩展 page.blade.php 文件。
如果您调用
@extends('page')
,但没有 adminlte::
,它将在您的 page.blade.php
目录中查找 resources/views
。
您不会在 Laravel 的 Blade 文档部分中看到有关此内容的信息,因为它是特定于 Laravel 包的。您可以从这里了解更多信息。
让我用C++的例子来解释一下,因为php语法的影响很大: 在 C++ 中,我们在代码构造中使用像
std::cout << "helloworld";
我们对编译器说“转到命名空间 std 并从中获取函数 std” 所以,当我们使用 php 并编写类似的内容时
{{ $clients->links('pagination::bootstrap-5') }}
将 :: 之前的名字视为命名空间,就像使用它来访问变量或函数一样
::
符号是类中静态函数或静态属性的调用,例如,如果您定义这样的类:
class Foo{
public static $a = 1;
public static function test(){};
}
您可以使用 Foo::$a 获取 $a 的值,并使用 Foo::test() 调用函数 test()。