Re: [PHP] Help on objects
On Thu, October 5, 2006 2:55 pm, Satyam wrote: > - Original Message - > From: Martin Alterisio > To: Satyam > Cc: Deckard ; php-general@lists.php.net > You're wrong, partially: > > I am sure you could have stated that in a more courteous way. So, this Argentinian, Italian, and European walk into a mailing list... :-) :-) :-) Language constructs in English are probably not the best thing to flame about on this list... Back to the curly braces! {} Sorry. Couldn't resist. -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some starving artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Help on objects
2006/10/5, Satyam <[EMAIL PROTECTED]>: - Original Message - *From:* Martin Alterisio <[EMAIL PROTECTED]> *To:* Satyam <[EMAIL PROTECTED]> *Cc:* Deckard <[EMAIL PROTECTED]> ; php-general@lists.php.net *Sent:* Thursday, October 05, 2006 3:50 PM *Subject:* Re: [PHP] Help on objects 2006/10/5, Satyam <[EMAIL PROTECTED]>: > > I've seen you already had a good answer on the errors in the code so I > won't > go on that. As for OOP, the one design error you have is that you are > asking for an action, not an object. You want to make SQL inserts, > that is > your purpose, and that is an action, which is solved by a statement, not > by > an object. There is no doer. Objects are what even your English > teacher > would call objects while describing a sentence. You are asking for a > verb, > you don't have a subject, you don't have an object. Of course you can > wrap > an action in a class, but that is bad design. Classes will usually have > names representing nouns, methods will be verbs, properties adjectives, > more > or less, that's OOP for English teachers. > > Satyam > You're wrong, partially: I am sure you could have stated that in a more courteous way. I apologize, english is not my first language and I usually can't express myself correctly. As a fellow compatriot I hope you'll understand there weren't ill intentions on what I said.
Re: [PHP] Help on objects
- Original Message - From: Martin Alterisio To: Satyam Cc: Deckard ; php-general@lists.php.net Sent: Thursday, October 05, 2006 3:50 PM Subject: Re: [PHP] Help on objects 2006/10/5, Satyam <[EMAIL PROTECTED]>: I've seen you already had a good answer on the errors in the code so I won't go on that. As for OOP, the one design error you have is that you are asking for an action, not an object. You want to make SQL inserts, that is your purpose, and that is an action, which is solved by a statement, not by an object. There is no doer. Objects are what even your English teacher would call objects while describing a sentence. You are asking for a verb, you don't have a subject, you don't have an object. Of course you can wrap an action in a class, but that is bad design. Classes will usually have names representing nouns, methods will be verbs, properties adjectives, more or less, that's OOP for English teachers. Satyam You're wrong, partially: I am sure you could have stated that in a more courteous way.
Re: [PHP] Help on objects
- Original Message - From: "Robert Cummings" <[EMAIL PROTECTED]> To: "Satyam" <[EMAIL PROTECTED]> Cc: "Deckard" <[EMAIL PROTECTED]>; Sent: Thursday, October 05, 2006 11:16 AM Subject: Re: [PHP] Help on objects On Thu, 2006-10-05 at 07:04 +0200, Satyam wrote: I've seen you already had a good answer on the errors in the code so I won't go on that. As for OOP, the one design error you have is that you are asking for an action, not an object. You want to make SQL inserts, that is your purpose, and that is an action, which is solved by a statement, not by an object. There is no doer. Objects are what even your English teacher would call objects while describing a sentence. You are asking for a verb, you don't have a subject, you don't have an object. Of course you can wrap an action in a class, but that is bad design. Classes will usually have names representing nouns, methods will be verbs, properties adjectives, more or less, that's OOP for English teachers. Properties are very often nouns in addition to adjectives. For instance a linked list class will undoubtedly have noun objects referring to the current link, the next link, etc. Cheers, Rob. -- Indeed, they often are: you as an object are defined by properties such as height, color of your hair and many other adjectives and you have many other objects which define you, fingers, legs, etc, which are also properties. Being more detailed, instead of the color of your hair being a property of you as a whole, you might have a property pointing to a hair object (a noun) which has a color property. Other noun properties might not be so helpful in defining you, your friends might give a hint of who you are, your clients do not. But, after all, neither does your hair, mine is deserting me and I'm still myself. So, I would say that while adjectives define an object, nouns are relations in between objects and might not define neither. Anyway, I didn't mean this analogy to be complete, nor I mean to teach OOP to English teachers, and though it can be talked much about, stretching it too far would certainly break it. I don't mean to defend it very strongly. Cheers Satyam -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Help on objects
2006/10/5, Satyam <[EMAIL PROTECTED]>: I've seen you already had a good answer on the errors in the code so I won't go on that. As for OOP, the one design error you have is that you are asking for an action, not an object. You want to make SQL inserts, that is your purpose, and that is an action, which is solved by a statement, not by an object. There is no doer. Objects are what even your English teacher would call objects while describing a sentence. You are asking for a verb, you don't have a subject, you don't have an object. Of course you can wrap an action in a class, but that is bad design. Classes will usually have names representing nouns, methods will be verbs, properties adjectives, more or less, that's OOP for English teachers. Satyam You're wrong, partially: an action can be an object and it's not necessarily a bad design, take for example function objects or the program and statements as objects in lisp-like languages. It's acceptable to make a class that works as an abstract representation of an sql query. This kind of classes are used very efficiently in object persistence libraries. What I agree with you is that it's not right that this class works as the insert action and not as a representation of the insert operation.
Re: [PHP] Help on objects
2006/10/4, Deckard <[EMAIL PROTECTED]>: Hi, I'm trying to lay my hands on PHP OOP, but it's not easy :( I've read several examples in the web, but cannot transpose to may case. I'm trying to set a class to make SQL inserts in mysql. I have the class: - table = $table; $this->sql = $sql; return(TRUE); } // function that constructs the sql and inserts it into the database function InsertDB($sql) { print($sql); // connect to MySQL $conn->debug=1; $conn = &ADONewConnection('mysql'); $conn->PConnect('localhost', 'deckard', 'ble', 'wordlife'); if ($conn->Execute($sql) === false) print 'error inserting: '.$conn->ErrorMsg().''; return (TRUE); } } and the code that calls it: InsertDB('$sql'); ?> but it's not working ? Can anyone give me a hand here ? I've read the manuals, examples, etc. Any help would be appreciated. Best Regards, Deckard -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php For database interaction, give PDO a chance: http://php.net/pdo IMO it's cleaner and more efficient than adodb. Then, I believe what you're trying to make is a query builder. I would break down the differente parts of an sql query and create abstractions for each part (some can be reused on different types of queries), then have builder create the queries abstractions from the different parts.
Re: [PHP] Help on objects [with reply]
Undoubtedly. He could also use the PEAR DB abstraction layer.
Re: [PHP] Help on objects [with reply]
yea, thanks for the input... but do you think my solution would be better for original poster? - Original Message - From: "Dave Goodchild" <[EMAIL PROTECTED]> To: "benifactor" <[EMAIL PROTECTED]> Cc: "Robert Cummings" <[EMAIL PROTECTED]>; "Satyam" <[EMAIL PROTECTED]>; "Deckard" <[EMAIL PROTECTED]>; Sent: Thursday, October 05, 2006 4:55 AM Subject: Re: [PHP] Help on objects [with reply] > Re the last suggestion, ensure you keep those database details outside the > web root (ie in a file called connect.inc for example) or if have to keep it > there add a .htaccess file that prevents download of *.inc files. > > Also, avoid use of the error suppression operator (@). You need to see your > errors. > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Help on objects [with reply]
Re the last suggestion, ensure you keep those database details outside the web root (ie in a file called connect.inc for example) or if have to keep it there add a .htaccess file that prevents download of *.inc files. Also, avoid use of the error suppression operator (@). You need to see your errors.
Re: [PHP] Help on objects [with reply]
i may be wrong, but your use of the class to me seems pointless... the reuse aspect of your database connection could be done with a simple include... maybe your need is different from what i suspect, being a beginner myself... here is what i do, and maybe the list can tell me if it would be better or worse for you... in a seperate php file define your database info... and in the all of the files you would need this connection you would just include that file...and call the database with the variable $l. example: and this could easily be made into a function to allow for multiple databases, users passwords, ect if nothing else, at least tell me what you think about my way of doing this. - Original Message - From: "Robert Cummings" <[EMAIL PROTECTED]> To: "Satyam" <[EMAIL PROTECTED]> Cc: "Deckard" <[EMAIL PROTECTED]>; Sent: Thursday, October 05, 2006 2:16 AM Subject: Re: [PHP] Help on objects > On Thu, 2006-10-05 at 07:04 +0200, Satyam wrote: > > I've seen you already had a good answer on the errors in the code so I won't > > go on that. As for OOP, the one design error you have is that you are > > asking for an action, not an object. You want to make SQL inserts, that is > > your purpose, and that is an action, which is solved by a statement, not by > > an object. There is no doer. Objects are what even your English teacher > > would call objects while describing a sentence. You are asking for a verb, > > you don't have a subject, you don't have an object. Of course you can wrap > > an action in a class, but that is bad design. Classes will usually have > > names representing nouns, methods will be verbs, properties adjectives, more > > or less, that's OOP for English teachers. > > Properties are very often nouns in addition to adjectives. For instance > a linked list class will undoubtedly have noun objects referring to the > current link, the next link, etc. > > Cheers, > Rob. > -- > .. > | InterJinn Application Framework - http://www.interjinn.com | > :: > | An application and templating framework for PHP. Boasting | > | a powerful, scalable system for accessing system services | > | such as forms, properties, sessions, and caches. InterJinn | > | also provides an extremely flexible architecture for | > | creating re-usable components quickly and easily. | > `' > > -- > 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
Re: [PHP] Help on objects
- Original Message - From: "Robert Cummings" <[EMAIL PROTECTED]> To: "Satyam" <[EMAIL PROTECTED]> Cc: "Deckard" <[EMAIL PROTECTED]>; Sent: Thursday, October 05, 2006 2:16 AM Subject: Re: [PHP] Help on objects > On Thu, 2006-10-05 at 07:04 +0200, Satyam wrote: > > I've seen you already had a good answer on the errors in the code so I won't > > go on that. As for OOP, the one design error you have is that you are > > asking for an action, not an object. You want to make SQL inserts, that is > > your purpose, and that is an action, which is solved by a statement, not by > > an object. There is no doer. Objects are what even your English teacher > > would call objects while describing a sentence. You are asking for a verb, > > you don't have a subject, you don't have an object. Of course you can wrap > > an action in a class, but that is bad design. Classes will usually have > > names representing nouns, methods will be verbs, properties adjectives, more > > or less, that's OOP for English teachers. > > Properties are very often nouns in addition to adjectives. For instance > a linked list class will undoubtedly have noun objects referring to the > current link, the next link, etc. > > Cheers, > Rob. > -- > .. > | InterJinn Application Framework - http://www.interjinn.com | > :: > | An application and templating framework for PHP. Boasting | > | a powerful, scalable system for accessing system services | > | such as forms, properties, sessions, and caches. InterJinn | > | also provides an extremely flexible architecture for | > | creating re-usable components quickly and easily. | > `' > > -- > 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
Re: [PHP] Help on objects
On Thu, 2006-10-05 at 07:04 +0200, Satyam wrote: > I've seen you already had a good answer on the errors in the code so I won't > go on that. As for OOP, the one design error you have is that you are > asking for an action, not an object. You want to make SQL inserts, that is > your purpose, and that is an action, which is solved by a statement, not by > an object. There is no doer. Objects are what even your English teacher > would call objects while describing a sentence. You are asking for a verb, > you don't have a subject, you don't have an object. Of course you can wrap > an action in a class, but that is bad design. Classes will usually have > names representing nouns, methods will be verbs, properties adjectives, more > or less, that's OOP for English teachers. Properties are very often nouns in addition to adjectives. For instance a linked list class will undoubtedly have noun objects referring to the current link, the next link, etc. Cheers, Rob. -- .. | InterJinn Application Framework - http://www.interjinn.com | :: | An application and templating framework for PHP. Boasting | | a powerful, scalable system for accessing system services | | such as forms, properties, sessions, and caches. InterJinn | | also provides an extremely flexible architecture for | | creating re-usable components quickly and easily. | `' -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Help on objects
On 10/5/06, Deckard <[EMAIL PROTECTED]> wrote: Hi, I'm trying to lay my hands on PHP OOP, but it's not easy :( I've read several examples in the web, but cannot transpose to may case. I'm trying to set a class to make SQL inserts in mysql. I commend you on trying to build an OOP class for database abstraction. Having already been there and done that, might I introduce you quickly to one of the great advantages of OOP: reuse. There are already many classes out there built to help accomplish database interaction. Yes it's an obvious place for OOP, but as your first foray into the discipline, I think you're biting off more than you can chew. Alternatively, why not download and start using one of the many stable and community-tested DB classes? Believe me, I completely relate to the need to "build it myself", and I don't want to squash that (it's the best way to learn). I just don't think it's worth doing it for database interaction. It's just not beginner material, and it's something you'll be using in all of your code from here on out, so it's best to start with something stable... My $.02. Er, £.01. HTH, John W p.s. I'm sure you want suggestions of good DB classes to use. Ironically, I use my own, so I don't have extensive experience in others, but why not look at the Zend Framework (it's what I'm switching to)? No need to use the whole framework. Or others on the list will surely have their suggestions of classes to use... -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Help on objects
I've seen you already had a good answer on the errors in the code so I won't go on that. As for OOP, the one design error you have is that you are asking for an action, not an object. You want to make SQL inserts, that is your purpose, and that is an action, which is solved by a statement, not by an object. There is no doer. Objects are what even your English teacher would call objects while describing a sentence. You are asking for a verb, you don't have a subject, you don't have an object. Of course you can wrap an action in a class, but that is bad design. Classes will usually have names representing nouns, methods will be verbs, properties adjectives, more or less, that's OOP for English teachers. Satyam - Original Message - From: "Deckard" <[EMAIL PROTECTED]> To: Sent: Thursday, October 05, 2006 3:47 AM Subject: [PHP] Help on objects Hi, I'm trying to lay my hands on PHP OOP, but it's not easy :( I've read several examples in the web, but cannot transpose to may case. I'm trying to set a class to make SQL inserts in mysql. I have the class: - table = $table; $this->sql = $sql; return(TRUE); } // function that constructs the sql and inserts it into the database function InsertDB($sql) { print($sql); // connect to MySQL $conn->debug=1; $conn = &ADONewConnection('mysql'); $conn->PConnect('localhost', 'deckard', 'ble', 'wordlife'); if ($conn->Execute($sql) === false) print 'error inserting: '.$conn->ErrorMsg().''; return (TRUE); } } and the code that calls it: InsertDB('$sql'); ?> but it's not working ? Can anyone give me a hand here ? I've read the manuals, examples, etc. Any help would be appreciated. Best Regards, Deckard -- 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
Re: [PHP] Help on objects
On Thu, 05 Oct 2006 02:47:59 +0100, Deckard <[EMAIL PROTECTED]> wrote: > Hi, > > I'm trying to lay my hands on PHP OOP, but it's not easy :( > I've read several examples in the web, but cannot transpose to may case. > > I'm trying to set a class to make SQL inserts in mysql. > > I have the class: > - > > class dBInsert > { > // global variables > var $first; > > // constructor > function dBInsert($table, $sql) > { > $this->table = $table; > $this->sql = $sql; > > return(TRUE); > } > > > // function that constructs the sql and inserts it into the database > function InsertDB($sql) >{ > > print($sql); > // connect to MySQL > $conn->debug=1; > $conn = &ADONewConnection('mysql'); > $conn->PConnect('localhost', 'deckard', 'ble', 'wordlife'); > > if ($conn->Execute($sql) === false) > print 'error inserting: '.$conn->ErrorMsg().''; > > return (TRUE); >} > } > > > and the code that calls it: > > > include_once("classes/dBInsert.php"); > $sql = "INSERT INTO wl_admins VALUES ('',2)"; > $dBInsert = new dBInsert('wl_admins', '$sql'); > $dBInsert->InsertDB('$sql'); > > ?> > > > but it's not working ? > > Can anyone give me a hand here ? > > I've read the manuals, examples, etc. > > Any help would be appreciated. > > Best Regards, > Deckard > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php You'd better learn the basic knowledge of PHP. There are several obvious mistakes in your code. > $dBInsert = new dBInsert('wl_admins', '$sql'); > $dBInsert->InsertDB('$sql'); Note that variables will *not* be expanded when they occur in single quoted strings. > $this->table = $table; > $this->sql = $sql; The two variables seemed useless. > $conn->debug=1; > $conn = &ADONewConnection('mysql'); Called $conn before creating it. And, I could not to know what is the purpose of this class. PS, a description such as "it's not working" is useless for solving the problem. -- Sorry for my poor English. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Help on objects
Hi, I'm trying to lay my hands on PHP OOP, but it's not easy :( I've read several examples in the web, but cannot transpose to may case. I'm trying to set a class to make SQL inserts in mysql. I have the class: - table = $table; $this->sql = $sql; return(TRUE); } // function that constructs the sql and inserts it into the database function InsertDB($sql) { print($sql); // connect to MySQL $conn->debug=1; $conn = &ADONewConnection('mysql'); $conn->PConnect('localhost', 'deckard', 'ble', 'wordlife'); if ($conn->Execute($sql) === false) print 'error inserting: '.$conn->ErrorMsg().''; return (TRUE); } } and the code that calls it: InsertDB('$sql'); ?> but it's not working ? Can anyone give me a hand here ? I've read the manuals, examples, etc. Any help would be appreciated. Best Regards, Deckard -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php