[PropelBundle] fixed Propel and Phing autoloading
This commit is contained in:
parent
13839f23ce
commit
c9e8934ee0
@ -17,6 +17,12 @@ class Bundle extends BaseBundle
|
||||
|
||||
public function boot(ContainerInterface $container)
|
||||
{
|
||||
require_once $container->getParameter('propel.path').'/runtime/lib/Propel.php';
|
||||
|
||||
if (0 === strncasecmp(PHP_SAPI, 'cli', 3)) {
|
||||
set_include_path($container->getParameter('propel.phing_path').'/classes'.PATH_SEPARATOR.get_include_path());
|
||||
}
|
||||
|
||||
$kernel = $container->getKernelService();
|
||||
if (!file_exists($autoload = $kernel->getCacheDir().'/propel_autoload.php')) {
|
||||
$map = array();
|
||||
|
@ -135,7 +135,7 @@ class BuildCommand extends Command
|
||||
|
||||
// Build file
|
||||
$args[] = '-f';
|
||||
$args[] = realpath($kernel->getContainer()->getParameter('propel.generator.path').DIRECTORY_SEPARATOR.'build.xml');
|
||||
$args[] = realpath($kernel->getContainer()->getParameter('propel.path').'/generator/build.xml');
|
||||
|
||||
/*
|
||||
// Logger
|
||||
|
@ -15,20 +15,25 @@ class PropelExtension extends LoaderExtension
|
||||
);
|
||||
|
||||
/**
|
||||
* Loads the DBAL configuration.
|
||||
* Loads the Propel configuration.
|
||||
*
|
||||
* @param array $config A configuration array
|
||||
*
|
||||
* @return BuilderConfiguration A BuilderConfiguration instance
|
||||
*/
|
||||
public function generatorLoad($config)
|
||||
public function configLoad($config)
|
||||
{
|
||||
if (!isset($config['path'])) {
|
||||
throw new \InvalidArgumentException('The "path" parameter is mandatory.');
|
||||
}
|
||||
|
||||
$configuration = new BuilderConfiguration();
|
||||
$configuration->setParameter('propel.generator.path', $config['path']);
|
||||
$configuration->setParameter('propel.path', $config['path']);
|
||||
|
||||
if (isset($config['phing_path']))
|
||||
{
|
||||
$configuration->setParameter('propel.phing_path', $config['phing_path']);
|
||||
}
|
||||
|
||||
return $configuration;
|
||||
}
|
||||
|
@ -23,8 +23,9 @@ Sample Configuration
|
||||
### Project configuration
|
||||
|
||||
# in sandbox/hello/config/config.yml
|
||||
propel.generator:
|
||||
path: %kernel.root_dir%/../src/vendor/propel/generator
|
||||
propel.config:
|
||||
path: %kernel.root_dir%/../src/vendor/propel
|
||||
phing_path: %kernel.root_dir%/../src/vendor/phing
|
||||
|
||||
propel.dbal:
|
||||
driver: mysql
|
||||
@ -41,38 +42,7 @@ Sample Configuration
|
||||
# dsn: mysql:host=localhost;dbname=test
|
||||
# options: {}
|
||||
|
||||
### Autoloading
|
||||
|
||||
// in src/autoload.php
|
||||
<?php
|
||||
|
||||
require_once __DIR__.'/vendor/symfony/src/Symfony/Foundation/UniversalClassLoader.php';
|
||||
|
||||
use Symfony\Foundation\UniversalClassLoader;
|
||||
|
||||
$loader = new UniversalClassLoader();
|
||||
$loader->registerNamespaces(array(
|
||||
'Symfony' => __DIR__.'/vendor/symfony/src',
|
||||
'Application' => __DIR__,
|
||||
'Bundle' => __DIR__,
|
||||
'Doctrine' => __DIR__.'/vendor/doctrine/lib',
|
||||
));
|
||||
$loader->registerPrefixes(array(
|
||||
'Swift_' => __DIR__.'/vendor/swiftmailer/lib/classes',
|
||||
'Zend_' => __DIR__.'/vendor/zend/library',
|
||||
));
|
||||
$loader->register();
|
||||
|
||||
require_once __DIR__.'/vendor/propel/runtime/lib/Propel.php';
|
||||
|
||||
set_include_path(
|
||||
__DIR__.'/vendor/phing/classes'.PATH_SEPARATOR.
|
||||
__DIR__.'/vendor/zend/library'.PATH_SEPARATOR.
|
||||
__DIR__.'/vendor/swiftmailer/lib'.PATH_SEPARATOR.
|
||||
get_include_path()
|
||||
);
|
||||
|
||||
Known Problems
|
||||
--------------
|
||||
|
||||
Your application must not be un a path inclufing dots in directory names (i.e. '/Users/me/symfony/2.0/sandbox/' fails).
|
||||
Your application must not be in a path including dots in directory names (i.e. '/Users/me/symfony/2.0/sandbox/' fails).
|
||||
|
Reference in New Issue
Block a user