Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

This is a page for planning Doctrine integration.

Doctrine 1

Questions

  • What namespace should we use?
    • Right now I think about something like Zend_(orm|model)_Doctrine, to make it possible for future orm's (juozas)
  • How should we modify Record/Table generation tasks in the light of ZF Modular Structures
    • Configurable via Metadata?
    • How can we autoload this correctly given <Record>Base instances (side by side or in Subdirectory?)
      • Models can be generated to Model_Class, Model_Base_Class and Model_ClassTable so autoloading shoudln't be a problem (juozas)
        • How does would this look like for ModuleA_Model_Class, ModuleB_Model_Class? How could one configure which class is for which module? (beberlei)

Todo

  • Create a Doctrine 2 Zend Application resource
    • I have code for this, though it should make use of application.ini config to set it's properties (juozas)
  • Create a Doctrine1 paginator adapter
  • Create a Doctrine1 auth adapter
  • Create Zend_Tool providers for Doctrine 1
    • Should be zfproject.xml aware and use the Doctrine 1 resource to "bootstrap" the ZF + Doctrine enviroment
    • Should implement all the tasks that the Doctrine CLI has.
  • Create Zend_Db_Adapters support gateway
    • Why? I think the performance overhead is considerable, wouldn't it be better to contribute new adapters for Doctrine then? (beberlei)
      • What do you mean by performance overhead? I haven't tried it, but the fact that Doctrine now is very much PDO oriented (correct my if I'm wrong) makes me believe that it would be easier to make some sort of bridge than to recode drivers for Doctrine. I should play with this (juozas)
        • I think the problem is rather that Doctrine requires much more than the PDO/PDOStatement like API but also the Export/Import Requirements for DDL SQL Statements, which might not be correct for the currently unsupported/semi-supported platforms.
          • I guess I've missed this point, you are right (juozas)

Doctrine 2

Questions

  • What namespace should we use?
  • Would the doctrine2 classes use 5.3?
  • Replication support? Probably need to ask the Doctrine team about this.
    • What is replication support? Mysql Proxy is the way to go here imho. (beberlei)
      • I agree with beberlei, there are also ways to make use of multiple connections using Doctrine plugins (juozas)

Todo

  • Update the main Zend_Loader_Autoloader to support both 5.2 and 5.3 style class loading.
  • Update the Zend_Loader_Autoloader_Resource to support namespaces
  • Create a Doctrine 2 Zend Application resource
    • I have a prototype on this, which is quite complete already. I will create a proposal for it.
  • Create a Doctrine2 paginator adapter
  • Create a Doctrine2 auth adapter
  • Create a zend server cache adapter for the \Doctrine\Common\Cache (submit to Doctrine codebase) or support Zend_Cache?
    • Why share a cache instance? I don't see the point, since there are no global methods on caches that require a "singleton" of a cache. (beberlei)
  • Zend Profiler support?
    • This is a good idea, because it would allow using DC2 with Zend_Wildfire / FirePHP. However the current DC2 Logger only has a subset of features of the Db Profiler. However i might propose to pair this up.
  • Look at the ZF directory structure, do we need to add any folders etc for metadata for instance?
    • This question is also relevant for DC1 regarding the yaml fixture and metadata files.
  • Create Zend_Tool providers for Doctrine2
    • I have a prototype for those already, they are zfproject.xml aware and use the Zend_Application instance and Doctrine2 Resource.
  • Create Zend_Db_Adapters support gateway
    • Again Why? I think the performance overhead is considerable, wouldn't it be better to contribute new adapters for Doctrine then? (beberlei)
Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.