Entities definieren
<?php
// entities/Test.php
class Test {
protected $id;
protected $name;
public function getName() {
return $this->name;
}
public function setName($name) {
$this->name = $name;
}
public function getId() {
return $this->id;
}
}
XML
<!-- config/xml/Test.dcm.xml -->
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<entity name="Test" table="tests">
<id name="id" type="integer">
<generator strategy="AUTO" />
</id>
<field name="name" type="string" />
</entity>
</doctrine-mapping>
Konfiguration
<?php
// bootstrap_doctrine.php
// See :doc:`Configuration <../reference/configuration>` for up to date autoloading details.
use Doctrine\ORM\Tools\Setup;
require_once "Doctrine/ORM/Tools/Setup.php";
Setup::registerAutoloadPEAR();
// Create a simple "default" Doctrine ORM configuration for XML Mapping
$isDevMode = true;
$config = Setup::createXMLMetadataConfiguration(array(__DIR__."/config/xml"), $isDevMode);
// or if you prefer yaml or annotations
//$config = Setup::createAnnotationMetadataConfiguration(array(__DIR__."/entities"), $isDevMode);
//$config = Setup::createYAMLMetadataConfiguration(array(__DIR__."/config/yaml"), $isDevMode);
// database configuration parameters
$conn = array(
'dbname' => 'orcl',
'user' => 'hr',
'password' => 'hr',
'host' => '10.0.2.15',
'port' => '1521',
'driver' => 'oci8',
'charset' => 'NLS_CHARACTERSET',
);
// obtaining the entity manager
$entityManager = \Doctrine\ORM\EntityManager::create($conn, $config);
Bootstrap Code
<?php
// bootstrap.php
require_once "entities/Test.php";
if (!class_exists("Doctrine\Common\Version", false)) {
require_once "bootstrap_doctrine.php";
}
cli-config
<?php
// cli-config.php
require_once "bootstrap.php";
$helperSet = new \Symfony\Component\Console\Helper\HelperSet(array(
'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($entityManager)
));
Einfuegen
<?php
// insert.php
require_once "bootstrap.php";
$newTest = $argv[1];
$test = new Test();
$test->setName($newTest);
$entityManager->persist($test);
$entityManager->flush();
echo "Created Test with ID " . $test->getId() . "\n";
Auslesen
<?php
require_once "bootstrap.php";
$dql = "SELECT t FROM Test t";
$query = $entityManager->createQuery($dql);
$query->setMaxResults(30);
$tests = $query->getResult();
foreach($tests AS $test) {
## var_dump($test);
echo $test->getName()."\n";
}