这可能是一个错字但我无法看到它......它让我发疯了!
我的结构是:
Bundle:/ Symfony24 / src / NRtworks / ChartOfAccountsBundle
我的表格:/Symfony24/src/NRtworks/ChartOfAccountsBundle/Form/Account_fastedit_form.php
控制器是这样的:
<?php
namespace NRtworks\ChartOfAccountsBundle\Controller;
//form loading
use NRtworks\ChartOfAccountsBundle\Form\Account_fastedit_form;
use NRtworks\SubscriptionBundle\Form\NewCustomer;
class ChartOfAccountsController extends Controller
{
public function indexAction()
{
new NewCustomer();
new Account_fastedit_form();
}
}
?>
我在Form / Account_fastedit_form.php中的表单类
<?php
namespace NRtworks\ChartOfAccountsBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class Account_fastedit_form extends AbstractType
{
//whatever
}
?>
然后我得到:
ClassNotFoundException: Attempted to load class "Account_fastedit_form" from namespace "NRtworks\ChartOfAccountsBundle\Form" in /home/eagle1/www/Symfony24/src/NRtworks/ChartOfAccountsBundle/Controller/ChartOfAccountsController.php line 72. Do you need to "use" it from another namespace?
我找不到错误。 ps:你可以看到我可以使用我的表单NewCustomer,在另一个包中没有任何问题,结构类似......
答案 0 :(得分:0)
我在这里测试了这个,我可以确认Symfony不喜欢你在课堂名称中强调的事实。
将课程更改为AccountFasteditForm
,将包含课程的文件更改为AccountFasteditForm.php
并更新您的use
语句。它应该工作。
修改强>
了解一些有关此事的信息,我怀疑它与PSR-0有关。你会在文档中找到:
CLASS NAME中的每个_字符都转换为DIRECTORY_SEPARATOR。 _字符在命名空间中没有特殊含义。
暗示_
在名称空间中很好,但在类名中不是。
我还在Symfony文档中找到了类名必须是camel-case的引用(再次暗示强调的命名空间很好)