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


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

Re: Designfrage

Path csiph.com!news.mixmin.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From "Christoph M. Becker" <cmbecker69@arcor.de>
Newsgroups de.comp.lang.php
Subject Re: Designfrage
Date Sat, 12 Dec 2015 19:16:48 +0100
Organization solani.org
Lines 50
Message-ID <n4hoa5$ivc$1@solani.org> (permalink)
References <1t55f16c9di4689n3e8%sfroehli@Froehlich.Priv.at> <murnm1$qlc$1@dont-email.me> <2915507.bUqziVz7J1@PointedEars.de>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace solani.org 1449944197 19436 eJwNy8kBwDAIA7CVymXicYCG/Udo9VcYBJOOgMfGiplE3oeqLTp1eG+Tp6muqTOrE+VauVnQ24Z395ht+Ck4i+/DaCHS/j2Shq6nCZl/fG6zHak= (12 Dec 2015 18:16:37 GMT)
X-Complaints-To abuse@news.solani.org
NNTP-Posting-Date Sat, 12 Dec 2015 18:16:37 +0000 (UTC)
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0
X-User-ID eJwFwQERADEIAzBLA1q4yYHy8y/hE0ZaqpBM8PEd09Teju1caA+bH8cdVt6ACQv2VByUrn4j6hEV
In-Reply-To <2915507.bUqziVz7J1@PointedEars.de>
Cancel-Lock sha1:Ig0ALIhds8jn9XR1wdClq0muJGI=
X-NNTP-Posting-Host eJwNxckBwDAIA7CVaDHXOOCE/Udo9ZGpP86Am8PWljKYxTPpiBNLC97corxWf+kze1jdosIdbwy1JG50GXLUNHKtXtTyzBFzMnExcRv5AdVBH2k=
Xref csiph.com de.comp.lang.php:3605

Show key headers only | 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