无法加载“sfFacebookConnectHelper.php”帮助程序

时间:2010-12-03 17:02:56

标签: plugins symfony1 symfony-1.4 helper helpers

我试图用sfFacebookConnectPlugin this tutorial来构建FB应用程序演示,我有一些小问题,但仍然无法修复它(iam symfony新手使用1.4)。 我已经通过终端命令安装了这个插件:

  • sfDoctrineGuardPlugin
  • sfFacebookConnectPlugin

我已将它们激活:

class ProjectConfiguration extends sfProjectConfiguration
{
  public function setup()
  {
      if (function_exists('date_default_timezone_set')) {
        date_default_timezone_set(@date_default_timezone_get());
      }
    $this->enablePlugins('sfDoctrinePlugin');
    $this->enablePlugins('sfBehatPlugin');
    $this->enablePlugins('sfDoctrineGuardPlugin');
    $this->enablePlugins('sfFacebookConnectPlugin');
  }
}

但是当我在我的布局中使用时:

<?php use_helper('sfFacebookConnect')?>

我收到此错误:

Unable to load "sfFacebookConnectHelper.php" helper
in: SF_ROOT_DIR/apps/frontend/modules/main/lib/helper,
SF_ROOT_DIR/apps/frontend/lib/helper,
SF_ROOT_DIR/lib/helper,
SF_SYMFONY_LIB_DIR/helper.

帮助者出现在 /home/palmic/www/behattest/plugins/lib/helper/sfFacebookConnectHelper.php

如何告诉symfony从那里加载它?

感谢名单!

2 个答案:

答案 0 :(得分:1)

问题出在插件本身,帮助程序和其他lib类必须在plugins /&lt; plugin-name&gt; / lib目录中,以便插件助手必须在:

plugins/<plugin-name>/lib/helper

不在plugins / lib。

答案 1 :(得分:1)

作为临时修复(直到编写插件的开发人员移动他们的帮助程序),您可以在SF_ROOT_DIR/lib/helper中创建自己的sfFacebookConnectHelper文件,其中包含以下代码:

<?php
require_once dirname(__FILE__) . '/../../plugins/sfFacebookConnectPlugin/lib/sfFacebookConnectHelper.php';

这条路可能是错的,所以只需将它指向他们的帮手即可。

然后你仍然可以在你的代码中使用<?php use_helper('sfFacebookConnect')?>,当真正的帮助者被移动到正确的文件夹时,只需删除这个文件。

另外,小提示。您可以执行以下操作,而不是在ProjectConfiguration文件中重复调用$this->enablePlugins()

$this->enablePlugins(array(
  'sfDoctrinePlugin',
  'sfBehatPlugin',
  'sfDoctrineGuardPlugin',
  'sfFacebookConnectPlugin'
));