DB_Dataobject_Extension package project
| From: | Sylvain > Com-Océan | Date: | Thu, 29 Sep 2005 09:11:42 +0000 |
| Subject: | DB_Dataobject_Extension package project | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-39956@lists.php.net to get a copy of this message | ||
Hi,
I introduce myself in some words : Web Developper/Designer in a small communication agency in Provence (South of France).
I try to use PHP5 & pear package the more efficiently.
------
I developp my own pear package, it is not available for the moment because:
- My code is not well clean, documented and don't respect pear presentation convention (I think)
- (for the moment) I don't use CVS, I don't make a xml package description file, I don't know how to publish it on pear.
- I have to restructure all the package in order to have a version 2.0
I introduce my package : DB_Dataobject_Extension
- It's a class which extends DB_Dataobject, then DB_Dataobject generate class use DB_Dataobject_Extension (automated by using the configuration of the dataobject ini file)
- Require PHP5, DB_Dataobject, HTML_Quickform
- Current version : 1.6.12 (developped since about one year) composed of 24 php files (there is DB_Dataobject_Extension_Field object and a lot of subclass of this for each type of field, it can be an image)
Features :
- Read XML description file which describe a table : description of each field (with label, rule, process : uploading file, maiking thumbnails...), Listing option, Edit form options, ...
- Generate Quickform Object and give method to process data and file
- Give methods to generate listing array (paging support, filter, order options, record title rendering...) -> this have to be transformed by using Structures_DataGrid pear package.
- Add some features to DB_Dataobject, like a generic constructor, getKey, getKeyField, getDate([$field], [$format]), ...
It's beggining to be a mess because there is too much things now, I have to re-structure the package with subclass, ...
I think the good version will be the version 2.0
I have some problem by managing the version of the files :
I developp this package by designing some website (It's my job), often some project in the same time.
Then each time I need a features, I discover a bug, DB_Dataobject_Extension evolve, then I think it change version about 30 times.
My version management evolve (I give version number to each time, have a base directory where I copy last file version) but it's a mess...
I always have to be carefull to the dependency, to copy the file each time I resolve a bug...
Then to upgrade a package of a website, I have to copy the files and verify that all work file (because xml configuration file syntax could have been optimize or restructure)
I don't think CVS will help me because, I developp the package in some base directory at the same time...
- Then Have you some ideas to help to reduce this mess... ???
- Do you have advice, suggest (features, pear package to use, object to generate) for this project ?
I hope my pear package will be published one day with a good structure and good interconnexion with DB_Dataobject HTML_Quickform & Structures_DataGrid (and maybe other pear packages)
Thanks to all the pear team (and developper of Dataobject & quickform), this package help me to have RAD to my website design, moreother no SQL error or Form problems when I developp.