It depends highly on what you're doing and how you're doing it :) If somethign needs to be done *always*, just throw it into the Object so that the user won't have to call it explicitly, however if you want to provide fine-grained control over how/when/why things are cleaned-up, you might want to keep it "public" and let the user call it explicitly.
For example, if clean-up is automatic, and only once-per-session, this might be somewhat along the lines of what i think you're asking for::: function dothis($form) { // ..... do whatever to POSTED variables $this->cleanup($form); } function cleanup($form) { // Only run once per instance if ($this->cleanup_called) return 1; $this->cleanup_called = 1; // ... do cleanup } --- Scott Hurring Systems Programmer EAC Corporation [EMAIL PROTECTED] Voice: 201-462-2149 Fax: 201-288-1515 > -----Original Message----- > From: Erik Price [mailto:[EMAIL PROTECTED]] > Sent: Thursday, June 06, 2002 4:58 PM > To: [EMAIL PROTECTED] > Subject: [PHP] OOP style question > > > I'm trying to solve my earlier-posted dilemma of a class attribute > (array) that is "remembering" elements that should have been > unset(). > The good news is that, according to some testing I've been > doing (I have > separated the relevant code and am directly testing it), it > looks like > PHP is behaving as expected -- I really hope that it's just > an error on > my part, so that I can fix it. > > But out of this exercise I have begun to wonder something. > If someone > who is better-schooled than I in object oriented programming > style could > respond I would be very grateful. > > I have a method in my class that essentially unsets an array > element. > The frequency with which this method is called varies > depending on the > circumstances, so i can't "hard-code" the solution to this > problem. But > after the method is done being called (however many times it need be > called), a second method needs to be called. Think of this > second one > as a "clean up" method, that needs to be called anytime the > first method > is called, but ONLY ONCE per script instance, no matter how > many times > the first method was called. This means that I can't just > call method > #2 every time I call method #1. > > Now, originally I was doing all of this method calling from > the script > itself. For each variable POSTed by the user, I call the > first method. > But now that I have a second "clean-up" method that needs to > be called, > how should I go about it? Should I have one "master" method in the > class that is called from the script, and itself does all the work? > This keeps all of the work in the class, and out of the > calling script. > > OR... > > Should I keep the class free of code that only executes according to > POST variables from the user, and keep this kind of thing in > the calling > script. That way, the object's class is more flexible, and > can be used > in more contexts. > > Again, this is really a question of style -- I can get it to > work either > way. I'm just wondering if a class should be written to > handle ALL CODE > related to its class, and keep most of the work in "private" methods > (not really enforced in PHP but whatever), or whether the > class should > be written so that it has a lot of public methods that can be called > from the script, which means that the class is more flexible > in the long > run? > > A question of encapsulation vs modularity, it would seem. > > Your thoughts are gratefully accepted. > > > > Erik > > > > > > ---- > > Erik Price > Web Developer Temp > Media Lab, H.H. Brown > [EMAIL PROTECTED] > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php