Web uygulaması oluşturmak için Zend Framework kullanıyorum. Çeşitli önerilere dayanarak, Doktrini RDBM sistemim olarak seçtim.Doctrine'de CLI olmadan el ile Proksileri nasıl oluşturulur?
;---------------------------------------------------
; DOCTRINE CONFIGURATION
;---------------------------------------------------
resources.entityManager.connection.driver = "pdo_mysql"
resources.entityManager.connection.host = "localhost"
resources.entityManager.connection.dbname = "private"
resources.entityManager.connection.user = "private"
resources.entityManager.connection.password = "private"
resources.entityManager.connection.entities = APPLICATION_PATH "/models"
resources.entityManager.connection.proxies.location = APPLICATION_PATH "/models/Proxies"
resources.entityManager.connection.proxies.ns = "Proxies"
; According to Doctrine manual, this should be true for
; development, and false for production
resources.entityManager.connection.proxies.generate = true
Yukarıdaki, Zend application.ini dosyasındaki Doctrine yapılandırmamdır. Her şey yolunda gidiyor, ancak çeşitli nedenlerle CLI kullanmadan Proxy'leri manuel olarak nasıl oluşturacağınızı önceden bilmek istedim. Her şeyden önce, Doctrine 2.0 belgesi otomatik üreten Proxy'lerin performans sorunlarına neden olacağından bahseder. İkincisi, hala DOctrine CLI'yi nasıl kullanacağımı henüz anlamadım, özellikle de proje geliştirmeyi komut istemi erişimi olmadan paylaşılan bir sunucu kutusuna taşıdım.
Sınıfları oluşturarak Doktrin varlıkları elle oluşturuluyor. Benzer şekilde doktrin proxy'lerini nasıl el ile oluştururum?
$proxyDir = null; //to genearate to default proxy dir
$proxyFactory = $em->getProxyFactory();
$metadatas = $em->getMetadataFactory()->getAllMetadata();
$proxyFactory->generateProxyClasses($metadatas, $proxyDir);
kişiler kullanmak oluşturmak için:
bize hata veriyor: Yakalanmamış istisna 'Doctrine \ ORM \ Mapping \ MappingException' mesajıyla 'Dosya haritalama sürücüleri geçerli bir dizin yoluna sahip olmalı, ancak verilen yol yanlış görünüyor!' C: \ Zend \ Apache2 \ htdocs \ Webate \ library \ Doctrine \ ORM \ Mapping \ MappingException.php: 193 – Furyvore
EntityManager'da proxy yolunu ayarlamanız gerekiyor, burada eski projemden kod: '$ config = new \ Doctrine \ orm \ konfigürasyonu; \t \t $ config-> setMetadataCacheImpl (self :: getCache()); \t \t $ config-> setMetadataDriverImpl (new \ qweb \ driver \ DoctrineYml (QWEB_MODULE)); \t \t $ config-> setEntityNamespaces (array ('base')); \t \t $ config-> setProxyDir (DOCTRINE_PROXIES); \t \t $ config-> setProxyNamespace ('proxy'); \t \t $ connection = \ Doctrine \ DBAL \ DriverManager :: getConnection (self :: loadYml (QWEB_CONFIG.DIRECTORY_SEPARATOR.'databases.yml ')); \t \t $ em = \ Doctrine \ ORM \ EntityManager :: create ($ bağlantı, $ config); ' –