PHP Spezialisten...Frage

Hallo,

kann man diese Zeile auch kürzer machen, wenn EINE Variable zwischen 2 werten liegen soll:

if (($FHT_actual_vpos > 0 ) AND ($FHT_actual_vpos < 26 )) ...

mfG Franz

Es gibt bei php keinen „between“ operator. In sofern passt das schon. Man kann es nur noch unübersichtlicher machen, z.B.


$status=(($FHT_actual_vpos > 0 ) AND ($FHT_actual_vpos < 26 )) ? "ausserhalb":"innerhalb";

Es gibt noch andere Methoden, aber am Ende muss man immer 2 Vergleiche kombinieren, um so eine „Fenster“-Funktion zu definieren.

Tommi

ahh ja ! Man lernt nie aus !

Fakt ist, man muss die selbe Variable zwei mal abfragen !

Ok, dann muss ich nun die Software von Ctrons kaufen, die hat „zwischen-zwei-werten“ Funktion !

– danke –

mfG Franz

fehlt nur eine unwesentliche Kleinigkeit bei C*: PHP:eek:

Du kannst Dir ja eine PHP-Funktion schreiben,die Du bei solchen Vergleichen immer wieder heranziehen kannst, z.B.


function between ($variable,$high_value,$low_value) {
return ($variable > $low_value ) AND ($variable < $high_value )) 
}

Das benutzt Du dann ganz normal:


if (between($FHT_actual_vpos,26,0)) {
...
}

Und ?---->Schon wieder gespart!

Alternativ Du kannst Dir ja in xxx deine eigene native PHP-Funktion definieren und uns dann zur Verfügung stellen;)

Tommi

Hallo tommi,

ist leider nicht mehr aktuell, inzwischen kann man wohl php scripte in die makrosprache einbinden. Da sieht man mal wieder, wieviel Angst da vor der IPSYMCON Mitbewerberschaft und IPS Community hat :stuck_out_tongue:

Gruss Torro

ach ja, die grosse „funktion“ Unbekannte"

Ich fange erst jetzt mit meinen 38 Jahren an, PHP zu lernen stehen noch viele Fragen offen. Ich bin zwar in Programmiersprachen zu hause, naja, jedoch mehr in der industriellen Branche. Ich kuck meinen Kollegen mal über die Schulter die in MySql programmieren, aber, eben nicht genug, Hab nicht viel Zeit.

So, zurück zum Thema:

Diese „funktion“ Sache muss ich mir mal genau anschauen. Das scheint was interessantes zu sein. Die zweite grosse Frage die ich immer noch habe:
„Was ist eine Klasse“ ???

mfG Franz

Hi Franz,

wie Klasse in Luxembourg definiert ist, weiß ich nicht.

Hier in Deutschland gibt es eine Schulpflicht. Die schulpflichtigen Kinder werden in Haufen von 10-40 Kindern zusammengepfercht und der größte stellt sich ganz nach vorne und erzählt den ganzen Tag irgendwelche Sachen.

Den „größten“ nennt man landläufig „Lehrer“ - der hat Vormittags Recht und Nachmittags frei

Hoffe, ich konnte dir helfen :smiley: :smiley: :smiley:

Gruß

Jörg

Hallo Franz,

ein sehr komplexes Thema. Vielleicht schaust Du Dir mal das WIIPS an, da sind ne ganze Menge an Funktionen und Klassen vorhanden. Ganz einfach ausgedrueckt sind Klassen eine Sammlung von Variablen und Funktionen (nennt man Methoden), mit denen Du dann in Deinen Scripts verschiedenste Aufgaben ausfuehren kannst. Am besten, Du schaust Dir das im PHP Handbuch an, da ist es schoen erklaert. Um das Lesen kommt man leider nicht herum. Ansonsten einfach fragen…

Gruss Torro

Ein class ist wie ein auto zu IPS… die kennen beide nichts voneinander.
Also wenn in php das auto beschrieben sein soll macht man ein class ‚auto‘.
Darein konnen die variabelen und eigenschaften von das auto beschrieben werden.
sowie:
Variabelen:
Anzahl Pasagiere
wieviel Benzin
motor_drehzahl
usw.

die eigenschaften:
motor_starten
alarm_bezin

IPS könnte also das auto starten mit 2 passagiere, und bekommt zb. die reichweite die gefahren werden kann zuruck.
Blöder beispiel aber ich hoffe das hiermit ein class irgendwie deutlicher ist.

PS: @php-experten : meine freie interpretation eines classes : verbessere mich wenn nötig.

Klassen kommen aus der objektorientierten Programmierung. Beispiele dafür findest Du meist in Zusammenhang mit C++ und Java. Dort wirt quasi alles mit Klassen gemacht. Wie Friedje schon angefangen hat zu erklären, beinhaltet eine Klasse(Objekt) nicht nur Eigenschaften (Variablen, Konstanten), sondern auch Methoden(Funktionen/Proceduren), um diese Eigenschaften zu ändern oder mit anderen Klassen zu kommunizieren. Eine wesentliche Eigenschaft ist die Fähigkeit eines Objektes, diese an abgeleitet Objekte weiterzugeben(Vererbung). So kann aus einem Fahrzeug ein Auto und daraus ein Porsche (oder auch BMW)werden, alle behalten die Eigenschaften eines Fahrzeuges, können diese aber verändern und neue hinzufügen. Der Clou ist, das man mit den gleichen Namen unterschiedliches bewirken kann. Wenn man zum Beispiel ein Auto schneller fahren läßt wird das bei einem Porsche( Porsche.beschleunige) eine andere Geschwindigkeit erzeugen als bei Traktor.beschleunige. Die ganze Theorie hier zu erklären, wäre wohl der Versuch, ein Meer mit einem kleinen Becher leeren zu wollen. Dazu gibt es aber jede Menge sehr guter Literatur.

PHP kann man objektorientiert programmieren, muss man aber nicht, weil es ursprünglich als prozedurale Sprache entworfen wurde.
Prozedurale Sprachen orientieren sich nur am Ablauf der Funktionen und besitzen keine Zuordnung der Funktionen/Methoden zu den Objekten, die sie bearbeiten. So entsteht z.B. der bekannte „Spagetti“-Code, wenn man unstrukturiert von Anfang bis Ende durchcodiert.

Eine Funktion ist eigentlich wie ein Makro, das entsprechend seiner Parameter immer das gleiche macht, aber nur einmal geschrieben werden braucht. Wenn man diese Function dann einsetzt, spart man sich eine Menge Tipparbeit und der Code wird auch lesbarer.

Ich hoffe, das war halbwegs korrekt und verständlich.

Tommi

Also bitte :wink:

Mehr wie halbwegs. :wink:

@tommi

Whew ! Sehr hilfreich, danke !

Eine Funktion ist eigentlich wie ein Makro, das entsprechend seiner Parameter immer das gleiche macht, aber nur einmal geschrieben werden braucht. Wenn man diese Function dann einsetzt, spart man sich eine Menge Tipparbeit und der Code wird auch lesbarer.

Das ist was ich gemacht habe, nur ein wening anders.

Ich habe nur ein FHT-Modul (Script) geschrieben. Und im ROOT-Script, da rufe ich die Globale Variablen auf mit „include_once“ von jedem einzelnen Raum, dann das FHT Modul. Das tut eigentlich das gleiche, nee ? … nur vielleicht kompliziert?

mfG Franz

naja, nicht ganz.
Eine Function macht irgend etwas und liefert dann (i.d.R) EIN Ergebnis zurück (z.B.


function summe ($a, $b) {
 $ergebnis=$a+$b;
 return $ergebnis;
}
....
echo "1+2=".summe(1,2);
 

Diese Functionen können beliebig komplex sein, also durchaus mal über ein paar (Papier-)Seiten gehen. Statt jedesmal die Formel zu wiederholen, wenn sich die Ausgangswerte ändern, macht man sich eben eine Funktion, gibt ihr einen Namen und übergibt nur noch die Ausgangswerte als Parameter.

Include lädt nur Quelltext hinzu, als ob Du ihn an der Stelle geschrieben hättest, also immer1:1 ohne jegliche Änderung. include_once stellt sicher, das die Datei nur geladen wird, wenn sie noch nicht schon durch einen anderen Programmteil geladen wurde.
Man macht das, um bestimmte Definitionen (Varablen oder auch Funktionen) nur einmal schreiben zu müssen, dann bei Bedarf verfügbar zu haben und vor allem nur an einer Stelle ändern zu müssen.

Tommi