Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.php > #3605

Re: Designfrage

From "Christoph M. Becker" <cmbecker69@arcor.de>
Newsgroups de.comp.lang.php
Subject Re: Designfrage
Date 2015-12-12 19:16 +0100
Organization solani.org
Message-ID <n4hoa5$ivc$1@solani.org> (permalink)
References <1t55f16c9di4689n3e8%sfroehli@Froehlich.Priv.at> <murnm1$qlc$1@dont-email.me> <2915507.bUqziVz7J1@PointedEars.de>

Show all headers | View raw


Am 05.10.2015 um 22:28 schrieb Thomas 'PointedEars' Lahn:

> Das bedeutet auch, dass für Funktionen, die Methoden sind, die Sichtbarkeit 
> deklariert werden kann (siehe oben); für die übrigen Funktionen jedoch 
> nicht: Letztere sind entweder global deklariert, dann sind sie immer 
> sichtbar; oder sie sind lokal deklariert, dann sind sie nur im lokalen 
> Aufrufkontext sichtbar:
> 
>   function foo () {}
> 
>   function bar ()
>   {
>     function baz () {}
> 
>     /* Aufruf möglich */
>     baz();
>   }
> 
>   /* Aufruf möglich */
>   foo();
>   bar();
> 
>   /* 
>    * Aufruf nicht möglich: “Fatal error:  Call to undefined function baz()”
>    */
>   baz();

Das ist so nicht ganz richtig. Eigentlich gibt es bei PHP (im Gegensatz
zu manch anderen Programmiersprachen) keine lokalen Funktionen. Wird die
Funktion "baz" im Rumpf der Funktion "bar" deklariert, so wird sie beim
ersten Aufruf von bar() im globalen Gültigkeitsbereich definiert. Ein
erneuter Aufruf von bar() ergibt einen Fehler:

  function foo () {}

  function bar ()
  {
    function baz () {}

    /* Aufruf möglich */
    baz();
  }

  baz(); // Fatal error: Call to undefined function baz()
  bar(); // okay
  baz(); // okay
  bar(); // Fatal error: Cannot redeclare baz()

-- 
Christoph M. Becker

Back to de.comp.lang.php | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Designfrage Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2015-09-10 11:48 +0000
  Re: Designfrage Niels Braczek <nbraczek@freenet.de> - 2015-09-10 14:53 +0200
  Re: Designfrage Claus Reibenstein <4spamersonly@kabelmail.de> - 2015-09-10 18:57 +0200
    Re: Designfrage Gregor Kofler <usenet@gregorkofler.com> - 2015-09-11 00:54 +0200
      Re: Designfrage Claus Reibenstein <4spamersonly@kabelmail.de> - 2015-09-11 12:07 +0200
  Re: Designfrage failwell <steve@mindfav.com> - 2015-10-04 17:29 +0000
    Re: Designfrage Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-05 22:28 +0200
      Re: Designfrage Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-05 22:33 +0200
      Re: Designfrage "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-12-12 19:16 +0100
        Re: Designfrage Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-12-12 20:25 +0100
  Re: Designfrage Andreas Treichel <gmblar@gmail.com> - 2015-11-01 11:09 +0100

csiph-web