Re: [PHP] default and another constructor
On Wed, 12 May 2004 10:43 pm, Lieve Vissenaeken wrote: Please ,could anybody help me ? I'm not so familiar with PHP. I've the following problem with my code when I try to make an object from the class forum with the code $test=new forum(). I always get a warning on this: Warning: Missing argument 1 for forum() in /lvdata/www/tennis/php/sql.inc Is it not possible to just make a default constructor and an other constructor like in JAVA ? Thanks for helping No, you cannot do this kind of method overloading, not like this anyway. If you are using PHP5 you can kind of emulate overloading by using the __call() function... some googling will find examples. You can at least make the below work by removing the first forum() instance and using function forum($naam=NULL,$tijd=NULL,$tekst=NULL) and test the incoming variables with isset() before attempting to use any of them. class forum { var $naam; var $tijd; var $tekst; function forum() { } function forum($naam,$tijd,$tekst) { $this-naam=$naam; $this-tijd=$tijd; $this-tekst=$tekst; } } $test=new forum(); --markc -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] default and another constructor
Strange that you get this error. Normally you should get a Fatal error: Cannot redeclare forum::forum() PHP does not support 'function overloading', at least not in a way java is doing it. One of the drawbacks of a free typed langauge (in contrary to a strictly typed one). cheerio /rudy On Wed, 2004-05-12 at 14:43, Lieve Vissenaeken wrote: Please ,could anybody help me ? I'm not so familiar with PHP. I've the following problem with my code when I try to make an object from the class forum with the code $test=new forum(). I always get a warning on this: Warning: Missing argument 1 for forum() in /lvdata/www/tennis/php/sql.inc Is it not possible to just make a default constructor and an other constructor like in JAVA ? Thanks for helping class forum { var $naam; var $tijd; var $tekst; function forum() { } function forum($naam,$tijd,$tekst) { $this-naam=$naam; $this-tijd=$tijd; $this-tekst=$tekst; } } $test=new forum(); signature.asc Description: This is a digitally signed message part
Re: [PHP] default and another constructor
On Wed, 2004-05-12 at 15:18, Mark Constable wrote: On Wed, 12 May 2004 10:43 pm, Lieve Vissenaeken wrote: Please ,could anybody help me ? I'm not so familiar with PHP. I've the following problem with my code when I try to make an object from the class forum with the code $test=new forum(). I always get a warning on this: Warning: Missing argument 1 for forum() in /lvdata/www/tennis/php/sql.inc Is it not possible to just make a default constructor and an other constructor like in JAVA ? Thanks for helping No, you cannot do this kind of method overloading, not like this anyway. If you are using PHP5 you can kind of emulate overloading by using the __call() function... some googling will find examples. You can at least make the below work by removing the first forum() instance and using function forum($naam=NULL,$tijd=NULL,$tekst=NULL) and test the incoming variables with isset() before attempting to use any of them. If you assign default values to the method arguments, you cannot test them with isset() anymore, as they will be set. class forum { var $naam; var $tijd; var $tekst; function forum() { } function forum($naam,$tijd,$tekst) { $this-naam=$naam; $this-tijd=$tijd; $this-tekst=$tekst; } } $test=new forum(); --markc signature.asc Description: This is a digitally signed message part
Re: [PHP] default and another constructor
Thanks Mark for helping me out... The way you describe it with function forum($naam=NULL,$tijd=NULL,$tekst=NULL) is a good trick !! Kind Regards. Mark Constable [EMAIL PROTECTED] schreef in bericht news:[EMAIL PROTECTED] On Wed, 12 May 2004 10:43 pm, Lieve Vissenaeken wrote: Please ,could anybody help me ? I'm not so familiar with PHP. I've the following problem with my code when I try to make an object from the class forum with the code $test=new forum(). I always get a warning on this: Warning: Missing argument 1 for forum() in /lvdata/www/tennis/php/sql.inc Is it not possible to just make a default constructor and an other constructor like in JAVA ? Thanks for helping No, you cannot do this kind of method overloading, not like this anyway. If you are using PHP5 you can kind of emulate overloading by using the __call() function... some googling will find examples. You can at least make the below work by removing the first forum() instance and using function forum($naam=NULL,$tijd=NULL,$tekst=NULL) and test the incoming variables with isset() before attempting to use any of them. class forum { var $naam; var $tijd; var $tekst; function forum() { } function forum($naam,$tijd,$tekst) { $this-naam=$naam; $this-tijd=$tijd; $this-tekst=$tekst; } } $test=new forum(); --markc -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] default and another constructor
On Wed, 12 May 2004 11:27 pm, Rudy Metzger wrote: On Wed, 2004-05-12 at 15:18, Mark Constable wrote: You can at least make the below work by removing the first forum() instance and using function forum($naam=NULL,$tijd=NULL,$tekst=NULL) and test the incoming variables with isset() before attempting to use any of them. If you assign default values to the method arguments, you cannot test them with isset() anymore, as they will be set. # cat null_test.php ?php class forum { function forum($naam=NULL,$tijd=NULL,$tekst=NULL) { var_export($naam); echo \n; var_export($tijd); echo \n; var_export($tekst); echo \n; } } $test=new forum('hi'); ? # php null_test.php 'hi' NULL NULL --markc -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] default and another constructor
No, you cannot do this kind of method overloading, not like this anyway. If you are using PHP5 you can kind of emulate overloading by using the __call() function... some googling will find examples. You can at least make the below work by removing the first forum() instance and using function forum($naam=NULL,$tijd=NULL,$tekst=NULL) Another option, if you wish to have varying argument lists, is to define the methods with no arguments at all, and use the func_get_args(), func_num_args(), and func_get_arg() functions described here: http://php.net/manual/en/ref.funchand.php - michal migurski- contact info and pgp key: sf/cahttp://mike.teczno.com/contact.html -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP] default and another constructor
-Original Message- From: Rudy Metzger [mailto:[EMAIL PROTECTED] Sent: 12 May 2004 14:27 On Wed, 2004-05-12 at 15:18, Mark Constable wrote: function forum($naam=NULL,$tijd=NULL,$tekst=NULL) and test the incoming variables with isset() before attempting to use any of them. If you assign default values to the method arguments, you cannot test them with isset() anymore, as they will be set. Not if the default is NULL -- isset(NULL) is false. Cheers! Mike - Mike Ford, Electronic Information Services Adviser, Learning Support Services, Learning Information Services, JG125, James Graham Building, Leeds Metropolitan University, Beckett Park, LEEDS, LS6 3QS, United Kingdom Email: [EMAIL PROTECTED] Tel: +44 113 283 2600 extn 4730 Fax: +44 113 283 3211 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php