Likes Likes:  0
Resultaten 1 tot 8 van de 8
Geen
  1. #1
    Niels Basjes
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [PHP] Optionele parameter by reference

    Hallo,

    In PHP deed ik tot voor kort het volgende:
    class foo {
    function foo($bar=NULL) { ... }
    }
    $bla = new foo();
    $bla = new foo(&$blabla);

    Ik wilde hiermee de parameter $bar optioneel houden (=NULL) en als de
    parameter gebruikt wordt dat deze dan by reference wordt doorgeven.


    In nieuwere een PHP versie (4.3.8) geeft dit echter de melding:
    Warning: Call-time pass-by-reference has been deprecated -
    argument passed by value; If you would like to pass it by
    reference, modify the declaration of [runtime function name]().
    If you would like to enable call-time pass-by-reference, you
    can set allow_call_time_pass_reference to true in your INI file.
    However, future versions may not support this any longer.

    Aangezien "by value" niet het gewenste effect heeft doe ik de volgende
    pogingen:
    ==========
    Poging 1:
    class foo {
    function foo(&$bar=NULL) { ... }
    }
    $bla = new foo();
    $bla = new foo($blabla);

    Foutmelding:
    Parse error: parse error, unexpected '=', expecting ')'

    ==========
    Poging 2:
    class foo {
    function foo(&$bar) { ... }
    }
    $bla = new foo();
    $bla = new foo($blabla);

    Foutmelding:
    Warning: Missing argument 1 for foo()

    ==========
    Poging 3
    class foo {
    function foo() { ... }
    function foo(&$bar) { ... }
    }
    $bla = new foo();
    $bla = new foo($blabla);

    Foutmelding:
    Fatal error: Cannot redeclare foo()

    ==========


    Op welke nette manier kan ik wel bereiken wat ik wil ?


    --
    Niels.

    Drs. ir. Niels Basjes - http://niels.basjes.nl/ - VCV 20000302
    mailto:`echo 'Niels Basjes'|awk '{print$1"@"$2".nl"}'`
    Hacker: One who enjoys the intellectual challenge of
    creatively overcoming or circumventing limitations.

  2. #2
    jrf[no]
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Optionele parameter by reference

    Niels Basjes wrote:

    > Hallo,
    >
    > In PHP deed ik tot voor kort het volgende:
    > class foo {
    > function foo($bar=NULL) { ... }
    > }
    > $bla = new foo();
    > $bla = new foo(&$blabla);
    >
    > Ik wilde hiermee de parameter $bar optioneel houden (=NULL) en als de
    > parameter gebruikt wordt dat deze dan by reference wordt doorgeven.
    >
    >
    > In nieuwere een PHP versie (4.3.8) geeft dit echter de melding:
    > Warning: Call-time pass-by-reference has been deprecated -
    > argument passed by value; If you would like to pass it by
    > reference, modify the declaration of [runtime function name]().
    > If you would like to enable call-time pass-by-reference, you
    > can set allow_call_time_pass_reference to true in your INI file.
    > However, future versions may not support this any longer.
    >
    > Aangezien "by value" niet het gewenste effect heeft doe ik de volgende
    > pogingen:
    > ==========
    > Poging 1:
    > class foo {
    > function foo(&$bar=NULL) { ... }
    > }
    > $bla = new foo();
    > $bla = new foo($blabla);
    >
    > Foutmelding:
    > Parse error: parse error, unexpected '=', expecting ')'
    >
    > ==========
    > Poging 2:
    > class foo {
    > function foo(&$bar) { ... }
    > }
    > $bla = new foo();
    > $bla = new foo($blabla);
    >
    > Foutmelding:
    > Warning: Missing argument 1 for foo()
    >
    > ==========
    > Poging 3
    > class foo {
    > function foo() { ... }
    > function foo(&$bar) { ... }
    > }
    > $bla = new foo();
    > $bla = new foo($blabla);
    >
    > Foutmelding:
    > Fatal error: Cannot redeclare foo()
    >
    > ==========
    >
    >
    > Op welke nette manier kan ik wel bereiken wat ik wil ?
    >
    >


    Even wat ideetjes gooien:

    Optie 1:
    Ik weet niet waar je de variabele voor wilt gebruiken, maar er staat me
    bij dat function foo ($bar=FALSE) wel werkt.

    Optie 2:
    Misschien niet wat je zoekt, maar de meest simpele manier lijkt me :

    function foo($bar) {
    if (!isset($bar) || empty($bar) ) {
    $bar = NULL;
    }
    }

  3. #3
    Niels Basjes
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Optionele parameter by reference

    On Tue, 02 Nov 2004 18:17:03 +0100, the lifeform known as "jrf[no]"
    <"jrf[no]"@[spam]jokeaday.net> wrote:

    >Niels Basjes wrote:
    >
    >> Hallo,
    >>
    >> In PHP deed ik tot voor kort het volgende:
    >> class foo {
    >> function foo($bar=NULL) { ... }
    >> }
    >> $bla = new foo();
    >> $bla = new foo(&$blabla);
    >>
    >> Ik wilde hiermee de parameter $bar optioneel houden (=NULL) en als de
    >> parameter gebruikt wordt dat deze dan by reference wordt doorgeven.

    ....

    >Even wat ideetjes gooien:
    >
    >Optie 1:
    >Ik weet niet waar je de variabele voor wilt gebruiken, maar er staat me
    >bij dat function foo ($bar=FALSE) wel werkt.


    Klopt, dat gebruikte ik tot op heden ook steeds en dat noemde ik ook.
    Het probleem is niet de default waarden gebruiken maar de combinatie
    van zowel by-reference als default waarden.

    >Optie 2:
    >Misschien niet wat je zoekt, maar de meest simpele manier lijkt me :
    >
    >function foo($bar) {
    > if (!isset($bar) || empty($bar) ) {
    > $bar = NULL;
    > }
    >}


    Ook dit lost mij probleem niet op.
    Dank je voor het mee denken.


    --
    Niels.

    Drs. ir. Niels Basjes - http://niels.basjes.nl/ - VCV 20000302
    mailto:`echo 'Niels Basjes'|awk '{print$1"@"$2".nl"}'`
    Hacker: One who enjoys the intellectual challenge of
    creatively overcoming or circumventing limitations.

  4. #4
    Niels Basjes
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Optionele parameter by reference

    On Tue, 02 Nov 2004 15:04:14 +0100, the lifeform known as Niels Basjes
    <NielsBasjes@example.com> wrote:

    > function foo(&$bar=NULL) { ... }


    > Parse error: parse error, unexpected '=', expecting ')'


    Ik vind net op http://www.zend.com/manual/functions.arguments.php deze
    opmerking:
    Note: As of PHP 5, default values may be passed by reference.

    Ok, dat wordt dus PHP upgraden.


    --
    Niels.

    Drs. ir. Niels Basjes - http://niels.basjes.nl/ - VCV 20000302
    mailto:`echo 'Niels Basjes'|awk '{print$1"@"$2".nl"}'`
    Hacker: One who enjoys the intellectual challenge of
    creatively overcoming or circumventing limitations.

  5. #5
    Daniel Tryba
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Optionele parameter by reference

    Niels Basjes <NielsBasjes@example.com> wrote:
    > Ik vind net op http://www.zend.com/manual/functions.arguments.php deze
    > opmerking:
    > Note: As of PHP 5, default values may be passed by reference.
    >
    > Ok, dat wordt dus PHP upgraden.


    Of gewoon die ini aanpassing. Een upgraden naar php5 (waar by ref de
    default is) zou wel eens andere effecten kunnen hebben.

    --

    Daniel Tryba


  6. #6
    Niels Basjes
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Optionele parameter by reference

    On Tue, 2 Nov 2004 18:33:27 +0000 (UTC), the lifeform known as Daniel
    Tryba <news_nl.internet.www.server-side@canopus.nl> wrote:

    >Niels Basjes <NielsBasjes@example.com> wrote:
    >> Ik vind net op http://www.zend.com/manual/functions.arguments.php deze
    >> opmerking:
    >> Note: As of PHP 5, default values may be passed by reference.
    >>
    >> Ok, dat wordt dus PHP upgraden.


    >Of gewoon die ini aanpassing.


    Ja, maar dat is alleen voor de korte termijn.

    >Een upgraden naar php5 (waar by ref de
    >default is) zou wel eens andere effecten kunnen hebben.


    Oh vast wel. Daar ga ik vanzelf achter komen ....

    --
    Niels.

    Drs. ir. Niels Basjes - http://niels.basjes.nl/ - VCV 20000302
    mailto:`echo 'Niels Basjes'|awk '{print$1"@"$2".nl"}'`
    Hacker: One who enjoys the intellectual challenge of
    creatively overcoming or circumventing limitations.

  7. #7
    Huibert
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Optionele parameter by reference



    "Niels Basjes" <NielsBasjes@example.com> schreef in bericht
    news:hahfo0h3vhsdpjni42aq3pm3ii35raera6@4ax.com...
    > On Tue, 02 Nov 2004 15:04:14 +0100, the lifeform known as Niels Basjes
    > <NielsBasjes@example.com> wrote:
    >
    >> function foo(&$bar=NULL) { ... }

    >
    >> Parse error: parse error, unexpected '=', expecting ')'

    >
    > Ik vind net op http://www.zend.com/manual/functions.arguments.php deze
    > opmerking:
    > Note: As of PHP 5, default values may be passed by reference.
    >
    > Ok, dat wordt dus PHP upgraden.
    >
    >
    > --
    > Niels.


    Hee, dat is toevallig, had ik net nog een vraagje over by-ref gepost op
    nl.comp.programmeren:


    <?php

    function add_some_extra(&$string) {
    $string .= 'and something extra.';
    }

    $str = 'This is a string, ';

    add_some_extra($str);

    echo "Eerste keer: $str ";


    call_user_func("add_some_extra", $str);

    echo ", tweede keer: $str \n";

    ?>

    Waarom krijg ik niet twee keer wat extra's?

    En dit is in php4.3.6.

    --
    Groeten,
    Huibert.



  8. #8
    Huibert
    [PHP] Optionele parameter by reference
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Optionele parameter by reference


    "Huibert" <panterlb@hotmail.com> schreef in bericht
    news:4188d1c9$0$28088$19deed1b@news.inter.NL.net.. .
    >
    >
    > "Niels Basjes" <NielsBasjes@example.com> schreef in bericht
    > news:hahfo0h3vhsdpjni42aq3pm3ii35raera6@4ax.com...
    >> On Tue, 02 Nov 2004 15:04:14 +0100, the lifeform known as Niels Basjes
    >> <NielsBasjes@example.com> wrote:
    >>
    >>> function foo(&$bar=NULL) { ... }

    >>
    >>> Parse error: parse error, unexpected '=', expecting ')'

    >>
    >> Ik vind net op http://www.zend.com/manual/functions.arguments.php deze
    >> opmerking:
    >> Note: As of PHP 5, default values may be passed by reference.
    >>
    >> Ok, dat wordt dus PHP upgraden.
    >>
    >>
    >> --
    >> Niels.

    >
    > Hee, dat is toevallig, had ik net nog een vraagje over by-ref gepost op
    > nl.comp.programmeren:
    >
    >
    > <?php
    >
    > function add_some_extra(&$string) {
    > $string .= 'and something extra.';
    > }
    >
    > $str = 'This is a string, ';
    >
    > add_some_extra($str);
    >
    > echo "Eerste keer: $str ";
    >
    >
    > call_user_func("add_some_extra", $str);
    >
    > echo ", tweede keer: $str \n";
    >
    > ?>
    >
    > Waarom krijg ik niet twee keer wat extra's?
    >
    > En dit is in php4.3.6.
    >
    > --
    > Groeten,
    > Huibert.



    "Ewoud Dronkert" <me@privacy.net> schreef in bericht
    news:c3lho05nbfmls9c2t1q547dj6hbsmcj6mt@4ax.com...
    > On Wed, 3 Nov 2004 11:43:39 +0100, Huibert wrote:
    >> call_user_func("add_some_extra", $str);
    >> Waarom krijg ik niet twee keer wat extra's?

    >
    > Het staat gedocumenteerd:
    > http://nl.php.net/manual/en/function.call-user-func.php
    >
    > Je kunt het omzeilen door een functienaam-variabele te gebruiken:
    >
    > mijnfunctie( $a ) { echo $a; }
    > $f = "mijnfunctie";
    > $f( "Hello" );
    >



    Ha dom van me, had ik zelf kunnen vinden.... Dank je!
    --
    Groeten,
    Huibert.




Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics