PHP 5.3使用和Symfony表单

Bob*_*ing 4 php autoload symfony

我试图将一些Symfony表单组件包含到我的项目中.

use Symfony\Component\Form\Form; 
use Symfony\Component\Form\FormInterface; 
Run Code Online (Sandbox Code Playgroud)

如果我这样做,我得到:

Fatal error: Class 'Symfony\Component\Form\Form' not found
Run Code Online (Sandbox Code Playgroud)

即使我知道这是Form元素的位置.运用

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();
Run Code Online (Sandbox Code Playgroud)

igo*_*orw 6

您需要设置自动加载.'使用'并不适合你.为此,请包含UniversalClassLoader,告诉它从哪里加载Symfony文件并注册它.

require_once __DIR__.'/vendor/Symfony/Component/ClassLoader/UniversalClassLoader.php';

use Symfony\Component\ClassLoader\UniversalClassLoader;

$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
    'Symfony' => __DIR__.'/vendor',
));
$loader->register();
Run Code Online (Sandbox Code Playgroud)

'use'语句只是将完全限定的类名称替换为较短的版本,供您在该文件中使用.