【发布时间】:2021-04-30 07:32:13
【问题描述】:
对于熟悉 Sage 10 的任何人,我试图让 View Composers 在默认的 app/View/Composers 目录之外工作。我在 Sage 10 目录的父目录中有另一个目录Composers,并通过 PSR-4 正确加载了它。这工作正常。
但是,它似乎不起作用。我想知道我是否必须在某个地方注册我的“自定义”Composer 目录,但是 Sage 10 上的文档非常肤浅,甚至根本不存在。
所以在我的 Sage 目录的父目录中,有一个 Composers 目录通过 PSR-4 加载,其中包含一个 Application.php,如下所示:
<?php
namespace Composers;
use \Roots\Acorn\View\Composer;
class Application extends Composer
{
/**
* List of views served by this composer.
*
* @var array
*/
protected static $views = [
'partials.header',
];
/**
* Data to be passed to view before rendering.
*
* @return array
*/
public function with()
{
return [
'someVar' => $this->sayHello(),
];
}
public function sayHello()
{
return 'Hello from Composer';
}
}
我尝试通过添加(没有任何运气)在 Sage 10 的视图配置中添加视图编写器
'composers' => [
Composers\Application::class,
],
有谁知道在哪里“注册”这些自定义作曲家?我必须注意 PSR-4 正在正确地自动加载类。
编辑 Sage 10 存储库可以在这里找到:https://github.com/roots/sage
【问题讨论】:
标签: php wordpress psr-4 roots-sage