PHP 5.3 使用和 Symfony 表单
我试图将一些 Symfony 表单组件包含到我的项目中。
use Symfony\Component\Form\Form;
use Symfony\Component\Form\FormInterface;
如果我这样做,我会得到:
Fatal error: Class 'Symfony\Component\Form\Form' not found
尽管我知道这是表单元素所在的位置。使用
require 'Symfony\Component\Form\Form.php'
可以工作,但我需要为表单元素添加别名以使该类正常工作。
编辑: 将 ClassLoader 复制到项目后尝试此操作仍然会带来相同的错误:
require_once __DIR__.'/Symfony/Component/ClassLoader/UniversalClassLoader.php';
use Symfony\Component\ClassLoader\UniversalClassLoader;
$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
'Symfony' => __DIR__.'/Symfony',
));
$loader->register();
Im trying to include some Symfony form components into my project.
use Symfony\Component\Form\Form;
use Symfony\Component\Form\FormInterface;
If I do this I get :
Fatal error: Class 'Symfony\Component\Form\Form' not found
Even though I know that this is where the Form elements are. Using
require 'Symfony\Component\Form\Form.php'
works ,but I need to alias the form elements to get the class to work.
EDIT:
Trying this after copying the ClassLoader to the project still brings same error:
require_once __DIR__.'/Symfony/Component/ClassLoader/UniversalClassLoader.php';
use Symfony\Component\ClassLoader\UniversalClassLoader;
$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
'Symfony' => __DIR__.'/Symfony',
));
$loader->register();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要设置自动加载。 “使用”并不适合你。为此,请包含 UniversalClassLoader,告诉它从哪里加载 Symfony 文件并注册它。
“use”语句只是将完全限定的类名别名为较短的版本,以便您在该文件中使用。
You need to set up autoloading. The 'use' does not do that for you. To do this, include the UniversalClassLoader, tell it where to load the Symfony files from and register it.
The 'use' statement just aliases the fully-qualified class name to a shorter version for you to use in that file.
另一种方法:
这应该对你有用,是吗?
An alternative approach:
That should work for you, yes?