本文整理汇总了PHP中PropelQuickBuilder类的典型用法代码示例。如果您正苦于以下问题:PHP PropelQuickBuilder类的具体用法?PHP PropelQuickBuilder怎么用?PHP PropelQuickBuilder使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PropelQuickBuilder类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setUp
public function setUp()
{
if (!class_exists('Post')) {
$schema = <<<EOF
<database name="lockable_behavior" defaultIdMethod="native">
<table name="post">
<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
<column name="title" type="varchar" size="255" />
<column name="description" type="longvarchar" />
<behavior name="lockable">
<parameter name="apply_to" value="title, description" />
<parameter name="with_description" value="true" />
</behavior>
</table>
</database>
EOF;
$builder = new PropelQuickBuilder();
$config = $builder->getConfig();
$config->setBuildProperty('behavior.visibility.class', '../src/LockableBehavior');
$builder->setConfig($config);
$builder->setSchema($schema);
$builder->build();
}
}
示例2: createBuilder
protected function createBuilder()
{
$builder = new PropelQuickBuilder();
$builder->setPlatform(new PgsqlPlatform());
$builder->setSchema($this->getXMLSchema());
return $builder;
}
示例3: setUp
public function setUp()
{
$tables = array('Post' => <<<EOF
<database name="event_dispatcher_behavior" defaultIdMethod="native">
<table name="post">
<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
<column name="name" type="VARCHAR" required="true" />
<behavior name="event_dispatcher" />
</table>
</database>
EOF
, 'Thread' => <<<EOF
<database name="event_dispatcher_behavior2" defaultIdMethod="native">
<table name="thread">
<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
<column name="text" type="VARCHAR" required="true" />
<column name="allowed" type="boolean" required="true" defaultValue="false" />
<behavior name="event_dispatcher" />
</table>
</database>
EOF
);
foreach ($tables as $className => $schema) {
if (!class_exists($className)) {
$builder = new PropelQuickBuilder();
$config = $builder->getConfig();
$config->setBuildProperty('behavior.event_dispatcher.class', '../src/EventDispatcherBehavior');
$builder->setConfig($config);
$builder->setSchema($schema);
$builder->build();
}
}
}
示例4: setUp
protected function setUp()
{
parent::setUp();
$this->loadPropelQuickBuilder();
$schema = <<<XML
<database name="default" package="vendor.bundles.Propel.PropelBundle.Tests.Fixtures.DataFixtures.Loader" namespace="Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader" defaultIdMethod="native">
<table name="book">
<column name="id" type="integer" primaryKey="true" />
<column name="name" type="varchar" size="255" />
<column name="description" type="varchar" />
<column name="author_id" type="integer" required="false" defaultValue="null" />
<column name="complementary_infos" required="false" type="object" description="An object column" />
<foreign-key foreignTable="book_author" onDelete="RESTRICT" onUpdate="CASCADE">
<reference local="author_id" foreign="id" />
</foreign-key>
</table>
<table name="book_author">
<column name="id" type="integer" primaryKey="true" />
<column name="name" type="varchar" size="255" />
</table>
</database>
XML;
$builder = new \PropelQuickBuilder();
$builder->setSchema($schema);
if (class_exists('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\Book')) {
$builder->setClassTargets(array());
}
$this->con = $builder->build();
}
示例5: getBuilder
protected function getBuilder($schema)
{
$builder = new PropelQuickBuilder();
$config = $builder->getConfig();
$config->setBuildProperty('behavior.equal_nest.class', '../src/EqualNestBehavior');
$builder->setConfig($config);
$builder->setSchema($schema);
return $builder;
}
示例6: testYamlLoadManyToMany
public function testYamlLoadManyToMany()
{
$schema = <<<XML
<database name="default" package="vendor.bundles.Propel.PropelBundle.Tests.Fixtures.DataFixtures.Loader" namespace="Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader" defaultIdMethod="native">
<table name="book" phpName="YamlManyToManyBook">
<column name="id" type="integer" primaryKey="true" />
<column name="name" type="varchar" size="255" />
</table>
<table name="author" phpName="YamlManyToManyAuthor">
<column name="id" type="integer" primaryKey="true" />
<column name="name" type="varchar" size="255" />
</table>
<table name="book_author" phpName="YamlManyToManyBookAuthor">
<column name="book_id" type="integer" required="true" primaryKey="true" />
<column name="author_id" type="integer" required="true" primaryKey="true" />
<foreign-key foreignTable="book" phpName="Book" onDelete="CASCADE" onUpdate="CASCADE">
<reference local="book_id" foreign="id" />
</foreign-key>
<foreign-key foreignTable="author" phpName="Author" onDelete="CASCADE" onUpdate="CASCADE">
<reference local="author_id" foreign="id" />
</foreign-key>
</table>
</database>
XML;
$fixtures = <<<YAML
Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyAuthor:
Author_1:
name: 'A famous one'
Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBook:
Book_1:
name: 'An important one'
Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBookAuthor:
BookAuthor_1:
book_id: Book_1
author_id: Author_1
YAML;
$filename = $this->getTempFile($fixtures);
$builder = new \PropelQuickBuilder();
$builder->setSchema($schema);
$con = $builder->build();
$loader = new YamlDataLoader(__DIR__ . '/../../Fixtures/DataFixtures/Loader');
$loader->load(array($filename), 'default');
$books = \Propel\PropelBundle\Tests\Fixtures\DataFixtures\Loader\YamlManyToManyBookPeer::doSelect(new \Criteria(), $con);
$this->assertCount(1, $books);
$this->assertInstanceOf('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBook', $books[0]);
$authors = \Propel\PropelBundle\Tests\Fixtures\DataFixtures\Loader\YamlManyToManyAuthorPeer::doSelect(new \Criteria(), $con);
$this->assertCount(1, $authors);
$this->assertInstanceOf('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyAuthor', $authors[0]);
$bookAuthors = \Propel\PropelBundle\Tests\Fixtures\DataFixtures\Loader\YamlManyToManyBookAuthorPeer::doSelect(new \Criteria(), $con);
$this->assertCount(1, $bookAuthors);
$this->assertInstanceOf('Propel\\PropelBundle\\Tests\\Fixtures\\DataFixtures\\Loader\\YamlManyToManyBookAuthor', $bookAuthors[0]);
}
示例7: setUp
public function setUp()
{
$this->schema = <<<EOF
<database name="bookstore" defaultIdMethod="native">
<table name="typehinted_object">
<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
<column name="name" type="VARCHAR" size="100" primaryString="true" />
<column name="roles" type="array" />
<behavior name="typehintable">
<parameter name="roles" value="array" />
</behavior>
</table>
<table name="typehinted_user">
<column name="id" type="INTEGER" primaryKey="true" autoIncrement="true"/>
<column name="name" type="VARCHAR" size="32"/>
<column name="catched_exception" type="OBJECT" />
<column name="foo" type="OBJECT" />
<behavior name="typehintable">
<parameter name="typehinted_group" value="BaseTypehintedGroup" />
<parameter name="catched_exception" value="Exception" />
<parameter name="foo" value="TypehintedUser" />
<parameter name="nullable_columns" value="foo, catched_exception" />
</behavior>
</table>
<table name="typehinted_group">
<column name="id" type="INTEGER" primaryKey="true" autoIncrement="true"/>
<column name="name" type="VARCHAR" size="32"/>
</table>
<table name="typehinted_user_group" isCrossRef="true">
<column name="user_id" type="INTEGER" primaryKey="true"/>
<column name="group_id" type="INTEGER" primaryKey="true"/>
<foreign-key foreignTable="typehinted_user">
<reference local="user_id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="typehinted_group">
<reference local="group_id" foreign="id"/>
</foreign-key>
</table>
</database>
EOF;
if (!class_exists('TypehintedObject')) {
$builder = new PropelQuickBuilder();
$config = $builder->getConfig();
$config->setBuildProperty('behavior.typehintable.class', __DIR__ . '/../src/TypehintableBehavior');
$builder->setConfig($config);
$builder->setSchema($this->schema);
$builder->build();
}
}
示例8: simpleBuild
protected function simpleBuild($SchemaFile, $Namespace)
{
$XML = $this->LoadSchema($SchemaFile, $Namespace);
$builder = new \PropelQuickBuilder();
$config = $builder->getConfig();
$config->setBuildProperty('behaviorCacheableClass', 'RickySu\\CacheableBehaviorBundle\\Behavior\\CacheableBehavior');
$builder->setConfig($config);
$builder->setSchema($XML);
$builder->build();
}
示例9: assertEmptyBuilderOutput
protected function assertEmptyBuilderOutput($schema)
{
$builder = new PropelQuickBuilder();
$builder->setSchema($schema);
ob_start();
$builder->buildClasses();
$output = preg_replace('/[\\r\\n]/', '', ob_get_contents());
ob_end_clean();
$this->assertEquals('', $output);
}
示例10: setUp
public function setUp()
{
parent::setUp();
$this->loadPropelQuickBuilder();
$schema = file_get_contents(__DIR__ . '/../Fixtures/translation_schema.xml');
$builder = new \PropelQuickBuilder();
$builder->setSchema($schema);
if (class_exists('Propel\\PropelBundle\\Tests\\Fixtures\\Model\\map\\TranslationTableMap')) {
$builder->setClassTargets(array());
}
$this->con = $builder->build();
}
示例11: setUp
public function setUp()
{
parent::setUp();
$schema = file_get_contents(__DIR__ . '/../Resources/config/propel/acl_schema.xml');
$builder = new \PropelQuickBuilder();
$builder->setSchema($schema);
if (!class_exists('Propel\\Bundle\\PropelAclBundle\\Model\\Acl\\map\\AclClassTableMap')) {
$builder->setClassTargets(array('tablemap', 'peer', 'object', 'query'));
} else {
$builder->setClassTargets(array());
}
$this->con = $builder->build();
}
示例12: testIndex
public function testIndex()
{
$updatedSchema = '
<database>
<table name="notification">
<column autoIncrement="true" name="id" primaryKey="true" required="true" type="INTEGER" />
<column name="target_user_id" required="true" type="INTEGER" />
<column name="notification_type_unique_name" required="true" size="255" type="VARCHAR" />
<column name="group_id" type="INTEGER" />
<column name="date" required="true" type="TIMESTAMP" />
<column name="objects" type="LONGVARCHAR" />
<column name="is_new" defaultValue="1" required="true" type="BOOLEAN" />
<foreign-key foreignTable="notification_type" name="FK_NOTIFICATION_TYPENOTIFICATION0">
<reference foreign="unique_name" local="notification_type_unique_name" />
</foreign-key>
<index name="FK_NOTIFICATION_TARGET_USER">
<index-column name="target_user_id" />
</index>
<index name="FK_NOTIFICATION_TYPENOTIFICATION">
<index-column name="notification_type_unique_name" />
</index>
</table>
<table name="notification_type">
<column name="module_unique_name" primaryKey="true" required="true" size="255" type="VARCHAR" />
<column name="unique_name" primaryKey="true" required="true" size="255" type="VARCHAR" />
<column name="is_correction" defaultValue="0" required="true" type="BOOLEAN" />
<column name="disabled_engine" size="255" type="VARCHAR" />
<foreign-key foreignTable="module" name="FK_TYPENOTIFICATION_MODULE0" onDelete="CASCADE" onUpdate="CASCADE">
<reference foreign="unique_name" local="module_unique_name" />
</foreign-key>
<index name="FK_TYPENOTIFICATION_MODULE">
<index-column name="module_unique_name" />
</index>
</table>
<table name="module">
<column autoIncrement="true" name="id" primaryKey="true" required="true" type="INTEGER" />
<column name="unique_name" required="true" size="255" type="VARCHAR" />
<column name="label" primaryString="true" required="true" size="255" type="VARCHAR" />
<column name="description" required="true" size="255" type="VARCHAR" />
</table>
</database>
';
$actual = "\n# This is a fix for InnoDB in MySQL >= 4.1.x\n# It \"suspends judgement\" for fkey relationships until are tables are set.\nSET FOREIGN_KEY_CHECKS = 0;\n\n-- ---------------------------------------------------------------------\n-- notification\n-- ---------------------------------------------------------------------\n\nDROP TABLE IF EXISTS `notification`;\n\nCREATE TABLE `notification`\n(\n `id` INTEGER NOT NULL AUTO_INCREMENT,\n `target_user_id` INTEGER NOT NULL,\n `notification_type_unique_name` VARCHAR(255) NOT NULL,\n `group_id` INTEGER,\n `date` DATETIME NOT NULL,\n `objects` TEXT,\n `is_new` TINYINT(1) DEFAULT 1 NOT NULL,\n PRIMARY KEY (`id`),\n INDEX `FK_NOTIFICATION_TARGET_USER` (`target_user_id`),\n INDEX `FK_NOTIFICATION_TYPENOTIFICATION` (`notification_type_unique_name`),\n CONSTRAINT `FK_NOTIFICATION_TYPENOTIFICATION0`\n FOREIGN KEY (`notification_type_unique_name`)\n REFERENCES `notification_type` (`unique_name`)\n) ENGINE=InnoDb;\n\n-- ---------------------------------------------------------------------\n-- notification_type\n-- ---------------------------------------------------------------------\n\nDROP TABLE IF EXISTS `notification_type`;\n\nCREATE TABLE `notification_type`\n(\n `module_unique_name` VARCHAR(255) NOT NULL,\n `unique_name` VARCHAR(255) NOT NULL,\n `is_correction` TINYINT(1) DEFAULT 0 NOT NULL,\n `disabled_engine` VARCHAR(255),\n PRIMARY KEY (`module_unique_name`,`unique_name`),\n INDEX `FK_TYPENOTIFICATION_MODULE` (`module_unique_name`),\n INDEX `I_referenced_FK_NOTIFICATION_TYPENOTIFICATION0_1` (`unique_name`),\n CONSTRAINT `FK_TYPENOTIFICATION_MODULE0`\n FOREIGN KEY (`module_unique_name`)\n REFERENCES `module` (`unique_name`)\n ON UPDATE CASCADE\n ON DELETE CASCADE\n) ENGINE=InnoDb;\n\n-- ---------------------------------------------------------------------\n-- module\n-- ---------------------------------------------------------------------\n\nDROP TABLE IF EXISTS `module`;\n\nCREATE TABLE `module`\n(\n `id` INTEGER NOT NULL AUTO_INCREMENT,\n `unique_name` VARCHAR(255) NOT NULL,\n `label` VARCHAR(255) NOT NULL,\n `description` VARCHAR(255) NOT NULL,\n PRIMARY KEY (`id`)\n) ENGINE=InnoDb;\n\n# This restores the fkey checks, after having unset them earlier\nSET FOREIGN_KEY_CHECKS = 1;\n";
$platform = new MysqlPlatform();
$platform->setDefaultTableEngine('InnoDb');
$updatedBuilder = new PropelQuickBuilder();
$updatedBuilder->setPlatform($platform);
$updatedBuilder->setSchema($updatedSchema);
$sql = $updatedBuilder->getSQL();
$this->assertEquals($actual, $sql);
}
示例13: setUp
protected function setUp()
{
//begin of setting runtime environments
$fileSystem = vfsStream::setup();
$this->className = 'ExampleInstantiator';
$this->extends = '\\stdClass';
$this->indention = ' ';
$this->namespace = 'Test\\Net\\Bazzline\\Propel';
$this->path = $fileSystem->url();
$this->prefix = 'create';
//end of setting runtime environments
$buildIsNeeded = !class_exists('TableOne') || !class_exists('TableTwo');
if ($buildIsNeeded) {
$schema = <<<EOF
<database name="example_database" defaultIdMethod="native">
<behavior name="add_to_entity_instantiator">
<parameter name="entity_instantiator_class_name" value="{$this->className}" />
<parameter name="entity_instantiator_extends" value="{$this->extends}" />
<parameter name="entity_instantiator_indention" value="{$this->indention}" />
<parameter name="entity_instantiator_namespace" value="{$this->namespace}" />
<parameter name="entity_instantiator_path_to_output" value="{$this->path}" />
<parameter name="entity_method_name_prefix" value="{$this->prefix}" />
<parameter name="entity_add_to_entity_instantiator" value="true" />
</behavior>
<table name="table_one">
<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
</table>
<table name="table_two">
<column name="id" required="true" primaryKey="true" autoIncrement="true" type="INTEGER" />
<behavior name="add_to_entity_instantiator">
<parameter name="entity_add_to_entity_instantiator" value="false" />
</behavior>
</table>
</database>
EOF;
$builder = new PropelQuickBuilder();
$configuration = $builder->getConfig();
$configuration->setBuildProperty('behavior.add_to_entity_instantiator.class', __DIR__ . '/../source/AddToEntityInstantiatorBehavior');
$builder->setConfig($configuration);
$builder->setSchema($schema);
$builder->build();
//we have to call generate manually since it is called only when php execution is finished
Manager::getInstance()->generate();
}
}
开发者ID:bazzline,项目名称:php_propel_behavior_entity_instantiator,代码行数:48,代码来源:AddToEntityInstantiatorBehaviorTest.php
示例14: setUp
public function setUp()
{
if (!class_exists('I18nBehaviorTest11')) {
$schema = <<<EOF
<database name="i18n_behavior_test_10">
\t<table name="i18n_behavior_test_11">
\t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" />
\t\t<column name="foo" type="INTEGER" />
\t\t<column name="bar" type="VARCHAR" size="100" />
\t\t<behavior name="i18n">
\t\t\t<parameter name="i18n_columns" value="bar" />
\t\t</behavior>
\t</table>
\t<table name="i18n_behavior_test_12">
\t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" />
\t\t<column name="foo" type="INTEGER" />
\t\t<column name="bar1" type="VARCHAR" size="100" />
\t\t<column name="bar2" type="LONGVARCHAR" lazyLoad="true" />
\t\t<column name="bar3" type="TIMESTAMP" />
\t\t<column name="bar4" type="LONGVARCHAR" description="This is the Bar4 column" />
\t\t<behavior name="i18n">
\t\t\t<parameter name="i18n_columns" value="bar1,bar2,bar3,bar4" />
\t\t\t<parameter name="default_locale" value="fr_FR" />
\t\t\t<parameter name="locale_alias" value="culture" />
\t\t</behavior>
\t</table>
</database>
EOF;
//PropelQuickBuilder::debugClassesForTable($schema, 'i18n_behavior_test_11');
PropelQuickBuilder::buildSchema($schema);
}
}
示例15: setUp
public function setUp()
{
$this->c1 = new FooColumnValue2();
$this->c1->bar = 1234;
$this->c2 = new FooColumnValue2();
$this->c2->bar = 5678;
if (!class_exists('ComplexColumnTypeEntity10')) {
$schema = <<<EOF
<database name="generated_query_complex_type_test_10">
\t<table name="complex_column_type_entity_10">
\t\t<column name="id" primaryKey="true" type="INTEGER" autoIncrement="true" />
\t\t<column name="bar" type="OBJECT" />
\t</table>
</database>
EOF;
PropelQuickBuilder::buildSchema($schema);
$e0 = new ComplexColumnTypeEntity10();
$e0->save();
$e1 = new ComplexColumnTypeEntity10();
$e1->setBar($this->c1);
$e1->save();
$e2 = new ComplexColumnTypeEntity10();
$e2->setBar($this->c2);
$e2->save();
ComplexColumnTypeEntity10Peer::clearInstancePool();
}
}