• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Unterschied include mit und ohne Klammern

Status
Für weitere Antworten geschlossen.

r-ene

Neues Mitglied
Hi,
gibt es eigentlich einen Unterschied, ob man
PHP:
<? include 'blubb.php'; ?>
oder
PHP:
<? include ('blubb.php'); ?>
schreibt?
Weil ich seh es meistens mit Klammern und ich selbst verwende es eigentlich immer ohne um 2 Zeichen zu sparen ;).
 
Na die Funktion heißt ja auch include(). Ich schreib es auch mit Klammern. Habs halt so gelernt ;) Und wirklichen Mehraufwand bedeutet das auch nich!
 
Bei Abfragen sollte man aber aufpassen :)

PHP:
if((include 'datei.php')=='ok') echo "ok"; //funktioniert

if(include('datei.php')=='ok') echo "ok"; //funktioniert nich, wird als include(('datei.php')=='ok') d.h. als include('') ausgewertet
 
Bei Abfragen sollte man aber aufpassen :)

PHP:
if((include 'datei.php')=='ok') echo "ok"; //funktioniert

if(include('datei.php')=='ok') echo "ok"; //funktioniert nich, wird als include(('datei.php')=='ok') d.h. als include('') ausgewertet
Lol diese erklärung.
Ist ja logisch, aber egal.
Back 2 topic.

Ich finde die Klammern völlig überflüssig und störend.

Jeder normale Informatiker (damit ich eingeschlossen ;)) arbeiten, so kurz es geht.
Was meint ihr, wieso die Shell nicht ausgeschrieben gemacht ist?
Also für:
rm > remove
ed > edit
mkdir > make directory
etc...

Die Informatiker sind von Natur aus faul. Wenn sie ein Script von 3 Zeilen haben, würden sie lieber 15 Minuten lang daran forschen, es automatisch machen zu lassen, als alle 3 Zeilen in 15 Sekunden zu schreiben. ^^

Also, haltet euch an diese Natur. :P


Gruss ;)
 
Jeder normale Informatiker (damit ich eingeschlossen :wink:) arbeiten, so kurz es geht.
Ups, dann bin ich nicht normal. Bin es halt so gewohnt, dass Funktionen mit () geschrieben werden, ausser bei echo, da erspare ich mir komischerweise die Klammern.

Gruß thuemmy
 
Was meint ihr, wieso die Shell nicht ausgeschrieben gemacht ist?
Also für:
rm > remove
ed > edit
mkdir > make directory
etc...
das wird schon noch, wenn du weiter im informatik studium fortgeschritten bist, lernst du, dass rm der eigentliche bin befehl ist und remove einfach nur ein alias. lösch doch einfach mal aus /usr/bin rm und ruf dann mal remove auf (übrigens, was bekommst du bei man remove ?).

ebenso ist es wenig erbaulich für deine(n) lehrer/professoren zu hören, dass du den parser einfach deine "fehler" korrigieren lässt. eine funktion wird nun mal mit klammern aufgerufen, include, require etc sind da nur etwas weniger pingelig. versuch es doch das nächste mal (einfach so aus faulheit) mit einer selbst gebastelten funktion :wink:.

ps.
der richtigkeit halber sollte ich natürlich noch sagen, die neueren versionen von php unterstützen auch ein include OHNE klammern, daher funktioniert das auch. der fehler ist also dann kein fehler mehr.
 
Zuletzt bearbeitet von einem Moderator:
das wird schon noch, wenn du weiter im informatik studium fortgeschritten bist, lernst du, dass rm der eigentliche bin befehl ist und remove einfach nur ein alias. lösch doch einfach mal aus /usr/bin rm und ruf dann mal remove auf (übrigens, was bekommst du bei man remove ?).

ebenso ist es wenig erbaulich für deine(n) lehrer/professoren zu hören, dass du den parser einfach deine "fehler" korrigieren lässt. eine funktion wird nun mal mit klammern aufgerufen, include, require etc sind da nur etwas weniger pingelig. versuch es doch das nächste mal (einfach so aus faulheit) mit einer selbst gebastelten funktion :wink:.

ps.
der richtigkeit halber sollte ich natürlich noch sagen, die neueren versionen von php unterstützen auch ein include OHNE klammern, daher funktioniert das auch. der fehler ist also dann kein fehler mehr.
Und jetzt willst n Diplom oda was?

Glaubt mir, jeder Informatiker der einer ist arbeitet so kurz es geht und spart sich auch wenn noch das kleinste Zeichen.

^^
 
Glaubt mir, jeder Informatiker der einer ist arbeitet so kurz es geht und spart sich auch wenn noch das kleinste Zeichen.
Glaub nicht alles :lol:

Ich schreibe auch grundsätzlich geschweifte Klammern in if/else-Verschachteungen, auch wenn jeweils nur eine Anweisung oder Funktionsaufruf dahinter steht.

Ich habe mir nämlich angeeignet, meinen Code immer gleich aussehen zu lassen. Dazuu gehört zu einem Funktionsaufruf auch das Klammernpaar (Ausnahme ist das echo, da lasse ich die Klammern weg).

Gruß thuemmy
 
Glaub nicht alles :lol:

Ich schreibe auch grundsätzlich geschweifte Klammern in if/else-Verschachteungen, auch wenn jeweils nur eine Anweisung oder Funktionsaufruf dahinter steht.

Ich habe mir nämlich angeeignet, meinen Code immer gleich aussehen zu lassen. Dazuu gehört zu einem Funktionsaufruf auch das Klammernpaar (Ausnahme ist das echo, da lasse ich die Klammern weg).

Gruß thuemmy
Zumindest ist es bei meiner Firma und mir so. ^^
 
Lol diese erklärung.
Ist ja logisch, aber egal.
Back 2 topic.....

ein beispiel wo die klammern eben doch sinn machen b.z.w notwendig sind um zu unterscheiden.

wieso so heftig ?
diplom will ich keines, du solltes nur beispiele verwenden, die auch sinnig sind, deines oben hinkt gewaltig. wenn du also den informatiker (fachmann) raushängen lässt, dann sei auch fachmann.

wie du das machst bleibt dir überlassen, lesbarkeit von code ist bei mir gross geschrieben. klammern, geschweifte klammern sind da fast ein muss. eine verallgemeinerung ALLE x machen das so oder so finde ich fast derb. nur weil ihr im code rumschnoddert machen das noch lange nicht alle.

ich halte es da genauso wie thuemmy inkl. klammern etc.
übrigens lasse ich auch bei echo die klammern weg :D
 
Das eine ist eine Anweisung und das andere eine Funktion. Das ist der ganze Unterschied.
Nope, es ist in beiden Fällen eine Anweisung bzw. ein Language construct:

php.net schrieb:
Note: Because this is a language construct and not a function, it cannot be called using variable functions


Code:
if(include('datei.php')=='ok') echo "ok"; //funktioniert nich, wird als include(('datei.php')=='ok') d.h. als include('') ausgewertet
Funktioniert deshalb nicht, weil include eben keine Funktion ist.

Glaubt mir, jeder Informatiker der einer ist arbeitet so kurz es geht und spart sich auch wenn noch das kleinste Zeichen.

Die Informatiker sind von Natur aus faul. Wenn sie ein Script von 3 Zeilen haben, würden sie lieber 15 Minuten lang daran forschen, es automatisch machen zu lassen, als alle 3 Zeilen in 15 Sekunden zu schreiben. ^^

Eben aus dieser Faulheit lohnt es sich auch mal mehr zu schreiben. Es gibt nichts langweiligeres als Wartung von Software. Und diese 2 Zeichen machen nun wirklich nichts aus. Das ist eher eine Sache von Automatismus.

Der Drang zum "forschen", zur Automatisierung führt gerade dazu, dass man erstmal mehr Code schreibt, um, infolge dessen, den Code sauber zu halten.

Programmieren ist außerdem nur das Handwerkszeug eines Informatikers, so wie Rechnen das eines Mathematikers. Und Informatiker müssen nicht einmal programmieren um Informatik zu betreiben (Mathematiker müssen natürlich auch nicht unbedingt rechnen).

N43

P.S.: Ich setze bei include Klammern und bei echo nicht, einfach aus Gewohnheit.
 
Nope, es ist in beiden Fällen eine Anweisung bzw. ein Language construct:
....
stimmt, nun bin ich schon so lange dabei und habe nie drauf geachtet, dass sich da was geändert hat. mir geht es offensichtlich so, dass ich das immer wieder gerne übersehe, bis php (ich glaube 3.1 oder 3.2) war es anders, da wurde include und require als funktion und include_once und require_once als anweisung gehandhabt, so ein zitat aus einen uralten script.
 
Zuletzt bearbeitet von einem Moderator:
An include und require ändern se wohl gerne. Von 4 auf 5 wurde der Unterschied, dass require auf jeden Fall einbindet und include nur, wenn nötig aufgehoben.

Wobei ich sagen muss, dass die Interpretation von include/require als Anweisung durchaus sinnvoll ist, denn das eingebundene Script hat ja Zugriff auf die Variablen des Aufrufers, was für Funktionen ja nur eingeschränkt (bzw. über global) gilt.


N43
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben