Hey, I have updated the classes again. I have created Zend_Payment_Gateway_Paypal_Customer which handles customer billing and credit card info. now i am willing to split the rest of the class into several smaller classes such as Zend_Payment_Gateway_Paypal_Transaction, Zend_Payment_Gateway_Paypal_PDT, Zend_Payment_Gateway_Paypal_Checkout etc... the questions is will those classes extend the Zend_Payment_Gateway_Paypal or Zend_Payment_Gateway_Abstract ? since some of them share the same methods? and extending Zend_Payment_Gateway_Paypal will reduce the need of duplication methods such as isSuccess, isFailed etc..
In addition a review for the current things done will be also appreciated. I am trying to do this as fast as i can but my time is limited and any help on this will be appreciated, Even help by commeting splitting the classes, adding/editing existing funcitionality etc... Anything will bring us one step forward on having a base class for a complete component. you can checkout the current code from the svn http://code.google.com/p/zendpayment/ Thanks. On Thu, Apr 30, 2009 at 10:26 AM, Vadim Gabriel <[email protected]> wrote: > Hey, > > I have updated the classes. > > * Updated class members to protected instead of private so overriding them > will be easier > * Updated exception class to throw exceptions using > zend_payment_gateway_exception > * Added class member $throwExceptions and a setter method to control the > exceptions behavior > * Updated few of the method names > * Updated the construct function to be able to pass an instance of > zend_http_client instead of creating one > * Added some more descriptions to the methods > * Cleaned the notices showed up > * Updated abstract methods > > Basically most of the things noted were done, If the changes made are ok i > can move onto splitting the classes to several smaller classes that will > reflect different actions such as subscriptions, express, PDT, and misc for > example (feedback and suggestions on splitting them up also appreciated) > > SVN updated. > > Thanks. > > > On Wed, Apr 29, 2009 at 11:03 PM, till <[email protected]> wrote: > >> On Wed, Apr 29, 2009 at 7:57 PM, Vadim Gabriel <[email protected]> >> wrote: >> > >> > >> > On Tue, Apr 28, 2009 at 8:33 PM, till <[email protected]> wrote: >> >> >> >> On Tue, Apr 28, 2009 at 6:48 PM, Vadim Gabriel <[email protected]> >> wrote: >> > (...) >> >> > 6) I was thinking about that while i was wrtting this. But then i >> said >> >> > for >> >> > consistency i should stick with one class for each gateway. It's not >> a >> >> > problem to split those up to there appropriate classes. That's why i >> >> > wanted >> >> > this feedback. The question is if this is something that more >> developers >> >> > would like to see? And in what way to split them up? >> >> >> >> IMHO, it would be nice since it makes the API more simple and cleaner. >> > >> > Will try and separate those once we get a nice good clean code. :) >> >> That's great, if you need feedback, I'm all available. >> >> > (...) >> >> > 10) Yes, I was thinking if throwing exceptions will be a better >> choice >> >> > then >> >> > just storing the error message returned in a class variables and then >> >> > retriving them later on. At some point i even included both. Do you >> >> > think >> >> > throwing exceptions will be best handled? If so i could probably >> throw >> >> > them >> >> > then just storing the message in a varible. >> >> >> >> Maybe allow people to control the behavior? >> > >> > That's what i did in the first place. I will bring that back again. How >> > about a class member $throwExceptions with a method setter? >> >> Sounds good to me! >> >> > (...) >> >> Is Tranzila any good? >> > >> > I have used Tranzila in a single project and it was used on a local >> website >> > here in Israel. I never used it on a website other then an Israeli one. >> I >> > hope that it supports different kind of languages and countries because >> from >> > what i have seen there website and client terminal and account managment >> is >> > in Hebrew. >> >> Ah, good to know. :) >> >> Till >> > > > > -- > Vincent Gabriel. > Lead Developer, Senior Support. > Zend Certified Engineer. > Zend Framework Certified Engineer. > -- http://www.vadimg.co.il/ > > > > -- Vincent Gabriel. Lead Developer, Senior Support. Zend Certified Engineer. Zend Framework Certified Engineer. -- http://www.vadimg.co.il/
