Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Początki z Doctrine 2, Kilka pytań laika na temat doctrine 2:)
prz3kus
post
Post #1





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

Ostrzeżenie: (0%)
-----


Witam,
niedawno ściągnąłem sobie paczkę doctrine 2, troszkę poczytałem o co z nim biega i 'napaliłem' się na jego obiektowość smile.gif

Pobrałem paczkę pod dla WIN i siedze na środowisku XAMPP

mamy klika pytań, które nie rozumie zaczynając czytań dokumentacje(być może to wina mojego umysłowego translatora na niskim poziomie wink.gif )

Zrobiłem sobie plik

obj - to nazwa mojego projektu

homeTest.php

  1. require '/library/Doctrine/Common/ClassLoader.php';
  2. $classLoader = new \Doctrine\Common\ClassLoader('Doctrine', '/library');
  3. $classLoader->register(); // register on SPL autoload stack
  4.  
  5. use Doctrine\ORM\EntityManager,
  6. Doctrine\ORM\Configuration;
  7.  
  8. // ...
  9.  
  10. if ($applicationMode == "development") {
  11. $cache = new \Doctrine\Common\Cache\ArrayCache;
  12. } else {
  13. $cache = new \Doctrine\Common\Cache\ApcCache;
  14. }
  15.  
  16. $config = new Configuration;
  17. $config->setMetadataCacheImpl($cache);
  18. $driverImpl = $config->newDefaultAnnotationDriver(__DIR__.'/library/obj/Entities'); //tutaj utworzyłem folder gdzie wrzuciłem plik test.php (nie mam pojecia czy poprawnie że go tutaj umieściłem) questionmark.gif co tu podać questionmark.gif
  19. $config->setMetadataDriverImpl($driverImpl);
  20. $config->setQueryCacheImpl($cache);
  21. $config->setProxyDir(__DIR__.'/library/obj/Proxies'); // tutaj utworzyłem kolejny folder z przyczyn że nie wiem po huhu on jest ^^ questionmark.gif co tu podać questionmark.gif
  22. $config->setProxyNamespace('obj\Proxies'); // j.w. questionmark.gif co tu podać questionmark.gif
  23.  
  24. if ($applicationMode == "development") {
  25. $config->setAutoGenerateProxyClasses(true);
  26. } else {
  27. $config->setAutoGenerateProxyClasses(false);
  28. }
  29.  
  30. $connectionOptions = array(
  31. 'dbname' => 'test',
  32. 'user' => 'test',
  33. 'password' => 'test',
  34. 'host' => '192.168.36.9',
  35. 'driver' => 'pdo_mysql',);
  36.  
  37. $em = EntityManager::create($connectionOptions, $config);
  38.  
  39. // nizej to juz moja improwizacja poniweaz nie wiem jak to ugrysc, może bedzie ktoś tak miły i mi wyjasni moich pare niejsasność
  40.  
  41. $cos = $em->find('test', 1);
  42. print_r($cos);


test.php
  1. <?php
  2. /**
  3.  * @Entity
  4.  * @Table(name="test")
  5.  */
  6. class Test
  7. {
  8. //pola i tabelki nazywają się jak zmienne poniżej więc nie jest musowe deklarowanie nazw
  9.  
  10. /** @Column(type="integer") */
  11. private $id;
  12.  
  13. /** @Column(length=20) */
  14. private $test;
  15. }
  16.  
  17. ?>


na koniec jeszcze jedno pytanie czy doctrine nie ma narzędzia do automatycznego generowania(mapowania) class na podstawie tabelek w bazie??

Pozdrawiam
Go to the top of the page
+Quote Post
usb2.0
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 25
Dołączył: 28.09.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


no doctrine na podstawie pliku w twoim przypadku - test.php, moze utworzyc tabelke
dokladnie jak to jest tego nie wiem, ale sprawdz sobie jak dziala to w symfony 2, bo tam wlasnie tak jest to zrobione
Go to the top of the page
+Quote Post
magnus
post
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

Ostrzeżenie: (0%)
-----


Z tego, co pamiętam z Doctrine 1.x to była taka funkcjonalność. Chyba w obie strony, czyli można sobie wygenerować schema bazy z modeli albo modele z istniejącej bazy (albo i modele i bazę z jakiegoś pliku np. w YAML-u).
Ogólnie dokumentację ma dobrą i ona nie gryzie, więc warto się zapoznać najpierw smile.gif


--------------------
Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr
Go to the top of the page
+Quote Post
prz3kus
post
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 30
Dołączył: 22.01.2007

Ostrzeżenie: (0%)
-----


Wszytko spoko dokumentacja niby jest obszerna ale dla mnie troszkę nie zrozumiała dlatego pytam czego nie rozumiem, odpowiedzi super tylko może ktoś kto już się bawił doctrine 2 wlanie jakimś przykładem albo linkiem smile.gif

Pozdro

Ten post edytował prz3kus 22.03.2013, 19:26:58
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 23:52