PHP 5.3 Bruk og Symfony Forms

stemmer
4

Im prøver å inkludere noen Symfony skjemakomponenter i mitt prosjekt.

use Symfony\Component\Form\Form; 
use Symfony\Component\Form\FormInterface; 

Hvis jeg gjør dette får jeg:

Fatal error: Class 'Symfony\Component\Form\Form' not found

Selv om jeg vet at det er der de Form elementene er. Ved hjelp av

require 'Symfony\Component\Form\Form.php'

fungerer, men jeg trenger å alias skjemaelementer for å få klassen til å fungere.

EDIT: Prøver dette etter å kopiere ClassLoader til prosjektet fortsatt bringer samme feilen:

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

use Symfony\Component\ClassLoader\UniversalClassLoader;

$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
    'Symfony' => __DIR__.'/Symfony',
));
$loader->register();
Publisert på 31/05/2011 klokken 15:11
kilden bruker
På andre språk...                            


2 svar

stemmer
6

Du må sette opp autoloading. The 'bruk' ikke gjøre det for deg. For å gjøre dette, inkluderer UniversalClassLoader, forteller det hvor du skal laste Symfony filer fra og registrere det.

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();

The 'bruk' uttalelse aliaser bare det fullstendige klassenavnet til en kortere versjon for deg å bruke i denne filen.

Svarte 31/05/2011 kl. 15:19
kilden bruker

stemmer
0

En alternativ tilnærming:

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

use Symfony\Component\ClassLoader\UniversalClassLoader;

set_include_path(__DIR__.PATH_SEPARATOR.get_include_path());
$loader = new UniversalClassLoader();
$loader->useIncludePath(true);
$loader->register();

Som skal fungere for deg, ja?

Svarte 04/08/2012 kl. 22:56
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more