Das betrachte ich nicht unbedingt als einen Vorteil.
Du meinst so dinge wie call_user_func und call_user_func_array obwohl man das array argument einfach hätte optional machen können? oder auch schön finde ich: array_map($callback, $array) ABER array_filter($array, $callback)
oder natürlich die ganzen str_* (str_repeat, str_replace, etc.) oder str* (strpos, strlen, etc.) funktionen.
PHP ist der Inbegriff skuriler, doppelter und dreifacher syntakischer Variationen. Dort gibt es kaum Einheitlichkeit in der Sprache und man findet sich selbst ständig in den Docs nachlesen, wie man die dinge noch gleich anstellt.
Aber ich gebe dir Recht. 2 Syntaxe für funktionsreferenzen sind blöd. Die Stringvariante war, meiner Meinung nach, aber nicht die richtige Entscheidung
[size=80]Und ich wette, was immer diese “komischen Konstrukte” sind, von denen du sprachst, ich würde das mit Sicherheit auch in Python, welches reine Funktionsreferenzen nutzt (keine Strings wie in PHP), hinbekommen.[/size]
mfg Balmung[/quote]
Python hat aber eval xD Is nicht fair^^
und call_user_func und call_user_func_array sind kein Problem^^ Das eine ist zum direkten Aufruf, das andere ist für dynamische aufrufe. Man könnte zwar den direkten mit dem dynamischen ersetzen, nur dann ist es für Entwickler wieder nervig^^
Allerdings wird es in JS teilweise so gemacht. Und glaube auch in anderen Sprachen.
Ansonsten hatte call_user_func glaube ich auch irgendwelche Nutzungsmöglichkeiten die der direkte Aufruf nicht hätte.
Wie dem auch sei, ich finde es gut wenn eine Sprache nicht dem Entwickler vorschreibt wie er es zu machen hat. Besonders wenn es darum geht Sachen zu ermöglichen oder komplett zu blocken.
PHP ist soweit extrem vielseitig auch wenn vieles über den Sinnvollen Einsatz für Webseiten hinaus geht.
Und das Syntax in PHP nicht immer gleich bzw. ähnlich ist, weiß jeder Selbst die PHP devs und die haben auch schon versucht es zu ändern bzw. versuchen es auch weiter…
Wie ich auch irgendwann schon mal sagte, ich nutze nicht nur eine Sprache^^
Manches ist halt einfacher in C/C++, anderes in Python, wieder anderes in PHP, dann aber auch mal JS etc.
Ich nutze sie alle, und eben nicht nur C/C++ für Programme/Scripte am PC, sondern ggf. sogar mal PHP. JS allerdings eher selten Das is wirklich meist nur für Webseiten bzw. Sachen im Browser gedacht bzw. nutze ich es so.
Python hatte ich zuletzt nur für nen DoS script genommen^^ Und ja, ich nutze das für eigene Zwecke und im Vergleich zu anderen Möchtegern DoS scripten^^ Also nicht zum nutzen sondern “forschen”