Modules! Modules! Modules!

2005-08-11
2013-04-11
  • Mark Dickenson

    Mark Dickenson - 2005-08-11

    The next version of ADOdb Lite that will be coming out in the next day or so will have an innovative new module feature.

    This is one of the things I have always thought ADOdb has needed...  A way to easily extend the library where programmers do not have to rewrite the core library code.

    The new module system will allow as many modules to be loaded as you need.  The only real limit is in the amount of memory you have on your server.  But I doubt if there will be tens of thousands of modules created for this library to make that ever come close to happening. ;)

    A module list variable has been added to the ADONewConnection function.  You populate this variable with all of the modules you want to use with your database.  If you omit this variable then none of the availible modules will be loaded.

    There will be two modules in the next release of ADOdb Lite.

    The first module is called "Transaction" and will add transaction support to most of the database drivers.

    $db = ADONewConnection('postgres7', 'transaction');

    The above will create your ADOdb Lite connection object with the transaction support module loaded.

    The second module is called "Pear".  I have removed all of the Pear Compatible functions from the adodb.inc.php and driver files.  They have been placed into their own pear_module.inc file.

    $db = ADONewConnection('postgres7', 'pear');

    The above will create your ADOdb Lite connection object with the pear support module loaded.

    If you need multiple modules you can enter as many as you want.  You will need to place a colon (:) between each module in your list.

    $db = ADONewConnection('postgres7', 'transaction:pear');

    The above will create your ADOdb Lite connection object with the transaction and pear support modules loaded.

    I have also executed the Web Stress Test on the new version of ADOdb Lite with the pear and transaction modules enabled.  There was absolutely no detectable difference in pages per second loaded on the accelerated and non-accelerated tests.  In some passes it came out a few fractions of a page faster.

    I needed to add some form of module support to maintain ADOdb Lites status as being a light version of ADOdb.  This new module system will allow users to run as small a version of ADOdb Lite as they need.

    The next module I will be working on after this release will be a caching module that will add ADOdb's cache support.

    I would like to think everyone for their feedback on this project as it has really helped in developement.

     
    • RYan Bonham

      RYan Bonham - 2005-08-12

      Mark,

      I am in the process of changing our open-source application over to use adodb-lite instead of addob. I am glad you decided to go to a modulized setup, and are working on cache support. We use adodb caching in our application and I am glad to see that it will soon be available in adodb lite.

      Ryan C. Bonham
      Lead Developer Open-Realty
      www.open-realty.org

       
    • RYan Bonham

      RYan Bonham - 2005-08-13

      Mark,

      I have started work on a date/time module for adodb lite. It so  far adds back in the ability to do UserTimeStamp, DBDate and DBTimeStamp. I am working on cleaning up the adodb-time functions so they take less resources. Once i get the functions cleaned up some I will send it over to you.

       
    • Mark Dickenson

      Mark Dickenson - 2005-08-13

      Fantastic!

      I am looking forward to it. :)

      I hope others start working on modules to add other features while I am working on the cache module.

       
    • Mark Dickenson

      Mark Dickenson - 2005-09-22

      Ryan, I was wondering how your date/time module has been coming.  I would like to see it added to the user modules download. :)

       

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks