Symfony2: hva Symfony git repository kan jeg bruke til å starte et prosjekt?

stemmer
6

Kan du gi meg noen opplysninger om hvordan du oppretter en ny Symfony2 prosjekt please?

Jeg begynte å få symfony / symfony-sandbox fra github som en tjære-ball. Deretter fjernet jeg det gamle src / leverandør innhold.

Jeg får nyeste leverandør libs med git submodule. (fabpot / Symfony, doktrine, vandringer, ...).

Problemet er sandkassa virker utdatert i forhold til siste fabpot / Symfony kode.

Så jeg begynte å endre hva som er endret (FoundationBundle endre navn, noen metode signatur endringer (som registerContainerConfiguration, ...).

Jeg fortsatt får denne feilmeldingen:

Symfony\Components\HttpKernel\Exception\NotFoundHttpException: Unable to find the controller.

Det synes å være et problem med ruting: forespørselen matcher ingen kontroller .

Har du noen ide ?

Enda bedre, gjør noen har en sandkasse wich fungerer med nyeste Symfony koden?

takk på forhånd, Florian.

Publisert på 21/07/2010 klokken 16:32
kilden bruker
På andre språk...                            


1 svar

stemmer
3

Hovedproblemet er at Symfony endringer for fort for å opprettholde en fungerende løsning basert på stammen / viktigste grenen.

Kanskje jeg hadde ikke den beste tilnærmingen om hvordan du starter, men etter noen søkene, kom jeg til en løsning:

Jeg endelig funnet mitt problem:

alle mine problemer ble DI relatert.

Det første problemet var at ControllerLoaderListener ikke var å observere "core.load_controller" hendelse.

Det var fordi jeg hadde deaktivert nettet forlengelse i min config.yml (synd på meg ... men var jeg teste!)

Etter at jeg hadde et annet problem med "ruter" service. Det ble ikke lastet verken!

Ved å se her:

src/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/skeleton/application/yml/config/config.yml

Jeg fant ut at ruteren tjenesten er aktivert av dette config.yml:

parameters:
    kernel.include_core_classes: false

kernel.config: ~

web.config: #enables the Web DI extension
  router: { resource: "%kernel.root_dir%/config/routing.yml" } #enables the Routing DI extension

web.templating: ~

doctrine.dbal: ~
doctrine.orm: ~

Hvis jeg sier dette til dere alle, det er bare fordi jeg håper å økonomisere litt hodepine til andre mennesker :)

Og hvis noen er interessert, her er en arbeider Kernel som jobber med nyeste fabpot / Symfony repo.

<?php

require_once __DIR__.'/../src/autoload.php';

use Symfony\Framework\Kernel;
use Symfony\Components\Routing\Loader\YamlFileLoader as RoutingLoader;

use Symfony\Components\DependencyInjection\Loader\LoaderInterface;

class ECommerceKernel extends Kernel
{
    public function registerRootDir()
    {
        return __DIR__;
    }

    public function registerBundles()
    {
        $bundles = array(
            new Symfony\Framework\KernelBundle,
            new Symfony\Bundle\FrameworkBundle\FrameworkBundle,
            new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle,
            new Symfony\Bundle\DoctrineBundle\DoctrineBundle,
            new Symfony\Bundle\DoctrineMigrationsBundle\DoctrineMigrationsBundle,
            new Application\ECommerceBundle\ECommerceBundle,
        );

        if ($this->isDebug()) {
        }

        return $bundles;
    }

    public function registerBundleDirs()
    {
        $bundles = array(
            'Application'        => __DIR__.'/../src/Application',
            'Bundle'             => __DIR__.'/../src/Bundle',
            'Symfony\\Framework' => __DIR__.'/../src/vendor/symfony/src/Symfony/Framework',
            'Symfony\\Bundle'    => __DIR__.'/../src/vendor/symfony/src/Symfony/Bundle',
        );

        return $bundles;
    }

    public function registerContainerConfiguration(LoaderInterface $loader)
    {
        return $loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
    }

    public function registerRoutes()
    {
        $loader = new RoutingLoader($this->getBundleDirs());

        return $loader->load(__DIR__.'/config/routing.yml');
    }
}
Svarte 22/07/2010 kl. 10:15
kilden bruker

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