This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| 
                    kurs:doctrine_oracle_beipspiel [2012/01/19 11:09] mh  | 
                
                    kurs:doctrine_oracle_beipspiel [2014/09/10 21:22] (current) | 
            ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | <code> | + | ==== Entities definieren ===== | 
| + | <code> | ||
| <?php | <?php | ||
| // entities/Test.php | // entities/Test.php | ||
| Line 21: | Line 22: | ||
| </code> | </code> | ||
| - | XML | + | ==== XML ===== | 
| <code> | <code> | ||
| Line 38: | Line 39: | ||
| </entity> | </entity> | ||
| </doctrine-mapping> | </doctrine-mapping> | ||
| + | </code> | ||
| + | |||
| + | ==== Konfiguration ==== | ||
| + | |||
| + | <code> | ||
| + | <?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); | ||
| + | </code> | ||
| + | |||
| + | ==== Bootstrap Code ==== | ||
| + | |||
| + | <code> | ||
| + | <?php | ||
| + | // bootstrap.php | ||
| + | |||
| + | require_once "entities/Test.php"; | ||
| + | |||
| + | if (!class_exists("Doctrine\Common\Version", false)) { | ||
| + | require_once "bootstrap_doctrine.php"; | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | ==== cli-config ==== | ||
| + | |||
| + | <code> | ||
| + | |||
| + | <?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) | ||
| + | )); | ||
| + | </code> | ||
| + | |||
| + | ==== Einfuegen ==== | ||
| + | <code> | ||
| + | |||
| + | <?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"; | ||
| + | </code> | ||
| + | |||
| + | ==== Auslesen ==== | ||
| + | <code> | ||
| + | |||
| + | <?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"; | ||
| + | } | ||
| </code> | </code> | ||