我想创建一个EBay API包装器对象。在Rails中,我会创建一个帮助程序,以便在控制器和视图中可用。我在哪里创建Yii中的这样一个对象?没有帮助者/目录。这是我能找到的最接近的概念:http://www.yiiframework.com/doc-2.0/guide-structure-application-components.html
答案 0 :(得分:0)
如果需要,您始终可以创建helpers
目录,没有什么可以阻止您,只需相应地创建您的命名空间。我个人将它们放在components
目录中。
您现在正在使用命名空间:)享受它。如果您正在使用高级应用程序,那么已经为后端定义了一个名称空间,例如名为..... backend。这意味着什么意味着当你use
在已知命名空间中找到的类时,它从那里开始,它会尝试猜测你的类的路径。
例如:
use backend/helpers/foo/Bar;
应该在后端/ helpers / foo目录中找到Bar。 Yii2会知道在哪里找到它,因为它知道backend
的位置。
答案 1 :(得分:0)
我设法使用以下内容,但我认为有更好的答案。
helpers/myhelpers.php
<?php
namespace app\helpers;
function isGrid() {
return true;
}
?>
views/shopping/index.php
<?php
use app\helpers; // this doesn't seem to work - how does Yii know to include the files?
include('../helpers/myhelpers.php');
...
<?= app\helpers\isGrid() ?>
出于某种原因,您还必须为该函数提供完整的命名空间路径。没有它,它将无法运作。