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


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

Re: return types

From Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich)
Newsgroups de.comp.lang.php
Subject Re: return types
Date 2016-06-22 14:49 +0000
Message-ID <1t576aa34di2aedn3e8%sfroehli@Froehlich.Priv.at> (permalink)
References <1t56fced94i14b9n3e8%sfroehli@Froehlich.Priv.at> <ndj4e7$ol6$1@solani.org> <1t576a50b3i2b18n3e8%sfroehli@Froehlich.Priv.at> <nkdp3f$buh$1@solani.org>

Show all headers | View raw


On Wed, 22 Jun 2016 12:25:53 Christoph M. Becker wrote:
> Ich finde die typed Properties nicht verkehrt, aber zum einen fände ich
> die diversen Einschränkungen (geht nicht für globale, lokale und
> statische Variablen, Referenzen) und den Performance-Nachteil nicht so
> schön.

Performance-Nachteile sind nie schön, aber wenn ich den RFC richtig
verstanden habe, sind die eher theoretischer Natur - und ob man in einem
zweiten Schritt nicht Code effizienter gestalten könnte (weil Typen schon
vorab bekannt sind) wäre auch noch zu klären.

> [1] Die Klassen-interne Typsicherheit finde ich sekundär. Gerade
> kleine Klassen sollten überschaubar sein.

Mir gefiele daran halt die Möglichkeit, mich selbst wieder ein Stück
mehr kontrollieren zu können. Und ganz egal, wie klein und
überschaubar die Klasse ist, ist alles willkommen, was dazu
beiträgt, Fehler zu erkennen.

> Was ich mir da eher wünschen würde, wären Property-Accessors
> (<https://wiki.php.net/rfc/propertygetsetsyntax-as-implemented>).

Das wiederum kann ich mir allenfalls in homöopathischen Ausnahmefällen als
(für mich) nutzbringend vorstellen - und wenn es nur darum geht, den Typ
einer Property festzulegen, ist der Aufwand erheblich.

Anstatt

| public int $i;

wäre das dann

| public $i {
|	get;
|	set(int $i) { $this->i = $i; }
| }

Bei Objekten mit vielen Properties ginge damit die Übersichtlichkeit
völlig verloren.
 
> Die Union-Types fände ich in einer statisch typisierten Sprache ja
> noch ganz sinnvoll, aber bei PHP sehe ich da keinerlei
> Notwendigkeit, da man dort solche Ausnahmefälle eben nicht
> typisieren muss. Und Ausnahmefälle sollten es meiner Meinung nach
> bleiben, sonst wird es zu verwirrend.

Gerade das erwähnte Array|Collection kommt bei mir eigentlich an
allen Ecken und Enden vor und unterläuft damit die sonst inzwischen
schon halbwegs durchgängige Typsicherheit.

Andere Fälle sind seltener, ja. Aber wie bei so vielen Dingen: Wenn
es eh kaum vorkommt, wird es auch kaum verwendet, stört also nicht
(und dort, wo man es braucht, hilft es).

Servus,
   Stefan

-- 
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Stefan. Für imponierende Umfaller, wenn sie zwei linke Hände haben!
(Sloganizer)

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


Thread

return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-03-31 09:35 +0000
  Re: return types k@rl.pflaesterer.de (Karl Pflästerer) - 2016-03-31 12:42 +0200
  Re: return types "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-03-31 14:16 +0200
    Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-04-15 06:37 +0000
    Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-06-22 08:48 +0000
      Re: return types "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-06-22 12:25 +0200
        Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-06-22 14:49 +0000
          Re: return types "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-06-22 17:47 +0200
            Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-06-23 08:23 +0000
              Re: return types "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-07-02 01:03 +0200
  Re: return types Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-03-31 21:40 +0200
    Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-04-01 16:26 +0000
      Re: return types "Christoph M. Becker" <cmbecker69@arcor.de> - 2016-04-02 19:23 +0200
        Re: return types Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-04-02 20:36 +0200
        Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-04-11 21:18 +0000
      Re: return types Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-04-02 20:33 +0200
        Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-04-11 21:32 +0000
          Re: return types Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-04-19 20:24 +0200
            Re: return types Stefan+Usenet@Froehlich.Priv.at (Stefan Froehlich) - 2016-04-20 07:05 +0000
              Re: return types Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2016-04-21 02:55 +0200

csiph-web