Variable unterhalb von Scripten ...

Hallo,

ich würde gerne von euch wissen ob „Sinn“ oder Unsinn es ist unterhalb von einem Script Variablen anzulegen.

Gruß
MacToolz

Von der Logik der Visualisierung bei (ab Werk) deaktivierter Verschachtelung, macht es keinen Sinn Variablen unterhalten von Scripten zu erzeugen.
Wenn die Variable aber nur z.B. Speicher für eine Ablaufsteuerung ist, kann die ruhig unterhalb eines Scripts liegen.
‚Normal‘ wäre eine Dummy-Instanz, darunter das Script und alle Variablen auf gleicher Ebene.
Michael

In meiner Strukturierung ist das Standard :eek:

Ich spare mir die Dummy Instance, jedenfalls in meiner „Steuerung“-struktur. Alle Variablen die zur Ablaufsteuerung gehören werden unterhalb des Scriptes erzeugt.

Die Visualisierung erfolgt nur über Links und wenn ich dort eine Gruppierung brauche, verwende ich in der „Visualisierungs“-struktur die Dummy Instancen.

Ich persönlich finde das sehr sauber und schnell kopierbar! Hat auch den Vorteil das man sich nicht immer über den Parent nach oben hangeln muss. Man kann einfach als Parent $_IPS[‚SELF‘] angeben und fertig ist.

Habe damit bisher NUR positive Erfahrungen gemacht. Ähnlich den Modulen, da werden die Variablen ja auch unterhalb des Moduls angelegt.

Aber der große Vorteil von IPS ist ja, man kann es halten wie man möchte :smiley:

Ciao Heiko

ja das sehe ich auch so …

Was mir noch so gefehlt hat in Bezug auf die Dummy Module, das man hier grundlegend einen Einstieg zum oversten Objekt direkt hat. Dummy Module muss ich mal zweckmäßig mal anwenden. Halte ich mal im Hinterkopf …

Gruß

Ich habe es ja im anderen Thread schon geschrieben:

Ich persönlich habe noch niemals eine Variable unterhalb von einem Skript angelegt und mir würde auch nicht einfallen, warum ich das tun sollte.

Ich lege in 99,5% der Fälle für die Dinge (z.B. Benachrichtigung für die Mülltonne) eine Kategorie an und packe dann in diese Kategorie alles, was damit zu tun hat, also Skripte und Variablen. Lediglich Ereignisse platziere ich unterhalb von Skripten, aber keine Variablen. Das ist mir persönlich zu unübersichtlich.

ja gut, das ist jetzt reine Gewohnheit, aber grundlegend spricht nichts dagegen es zweckmäßig so anwenden zu wollen.

Ich habe mir für meine Struktur ein Script erschaffen das ich allgemein gütig einsetzen kann und nutze es als Logger.
Da kam mir die Idee das ich eine Variabel im WebFront setzen kann damit ich mir meine Logs einschalten kann.

Aber dazu musste ich ja mein übergelagertes Objekt haben, weil mein Script verwaltet sich in so fern selber das es kontrolliert ob es die Debug Variable hat, wenn nicht wird es automatisch angelegt und in die Visu neu verlinkt.

Gruß

Der Vergleich zum Modul ist bei dir aber logisch genau falsch.
Das Modul ist eine Objekt Typ Instanz und unter der liegen die Variablen.
Somit gehören Variablen unter eine Instanz und nicht unter ein Objekt Script.
Michael

Hmm, sehe ich halt genau anders, aber egal … wäre was für einen langen Abend und Bier :smiley:

Nein ist es nicht, da Module kein Objekt vom Typ Script sind, ist dein Vergleich so wie mit Bananen und Äpfeln :wink:
Somit las die Module einfach außen vor.
Michael

Hi,

darf ich da ein wenig mit Fachsimpeln.

Wenn ich das verstanden habe, ist nach IP Symcon Logik die Instanz das Objekt was ja jegliche Logik beinhaltet und auch
so zu sagen den Speicher von diesem Objekt Instanz

Ein Script Objekt hingegen wäre dann nur ein Hilfsobjekt. Eigentlich vom Prinzip her ohne Speicher, aber halt einfach nur Codeinhalte.

Ist das soweit richtig beschrieben?

Gruß

Ja, deswegen gibt es ja Dummy-Instanzen. Um mit den Variablen darunter quasi eine eigene Instanz zu bauen.
Michael
PS: Viele Scripte hier im Forum funktionieren genau so. Sie erstellen eine Dummy-Instanz, verschieben sich dort drunter, und erzeugen auf gleicher Ebene die Variablen.

Sei mir nicht böse, aber nur weil man einer „module.php“ eine Hülle gibt und es dann Instanz nennt soll es so viel anders sein - gerade logisch gesehen?!

Prost :slight_smile:

Richtig, ein Modul ist eine Instanz und kein Skript.

@pitti:
Ich bin nicht böse :slight_smile:
Das ist auch wieder falsch.
Dann müsste es ja pro Instanz eine module.php gehen. Aber das ist nur eine PHP-Klasse. Kein Objekt und auch keine Instanz.
Diese Klasse ist der Code aus dem IPS eine Instanz baut. Somit liegen die Variablen unter einer Instanz :smiley: :wink:
Michael