Eigene Funktionen global in IPS verwendbar machen

Gibt es eine einfach Möglichkeit Funktionen aus Skripten global in IPS verwendbar zu machen ohne „include“ verwenden zu müssen? Bei mir sammelt sich immer mehr an und ich versuche auch vieles in Funktionen zu packen weil ich das dann übersichtlicher Finde. Aber ständig das includen ist zum einen mühselig und zum anderen ist es mir eben passiert, dass ich es doppelt hinzugefügt hab.
Ich würde gerne diese Funktionen überall und immer zur verfügung haben.
Ich könnte mir auch vostellen, dass ich ein großes Skript habe, wo ich alles reinpacke, wobei mir der Gedanke eher nicht so gefällt.

Ich habe absolut keine Ahnung ob das was ich schreibe richtig ist, aber ginge das nicht über

[php.ini]
auto_prepend_file="/usr/share/symcon/scripts/__autoinclude.inc.php"

also die Datei „__autoinclude.inc.php“ anlegen und los?

Gruß Heiko

Genau das geht. Aber die Datei heißt _autoload.php :slight_smile:

paresy

Danke, aber ich glaube du meinst die "_autoload.php".
Habs gefunden. Aber es müssen 2x
vorangestellt werden. zuminderst ist es so in der autoinclude definiert.
Die Funktionsnamen finden sich aber nicht in der Funktionsübersicht im Skripteditor, oder?

Seid nicht so kleinlich :slight_smile: halt irgendwas mit auto :smiley:

Spaß beiseite - hatte ja geschrieben das ich mir nicht sicher war, aber es ging in die richtige Richtung!

PS: ja 2x _

Wenn du dort ein symcon Script einbindest, dann kannst du es problemlos in der Konsole bearbeiten ;). Die Funktionen siehst du leider nicht, dann musst du ein Modul erstellen.

Sag das nicht mir, mir wäre das eh egal. IPS ist pingelig. :wink:
Es funktioniert. Und ja, Ralf, ich hab ein Skript aus IPS eingebunden. Und es funktioniert bei Änderung auch sofort. Ein Neustart von IPS ist nicht jedesmal notwendig, wenn da etwas geändert wird. Dies nur als Hinweis für andere, die ähnliches wollen.
Und noch ein Hinweis für die „__autoload.php“

<?php
require_once(IPS_GetKernelDir() . "/scripts/56790.ips.php");

das „<?php“ am Beginn nicht vergessen ;). Sonst geht gar nichts mehr.

Jetzt muss ich selber mal nachfragen :confused:

Ich habe im scripts Verzeichnis gar keine „__autoinclude.inc.php“ Datei - funktioniert dann das alles noch?

Danke & Ciao
Heiko

Kommando zurück - war im falschen Verzeichnis :frowning: … alles Gut!

Die „__autoinclude.php“ ist bei Windows im Verzeichnis „C:\Program Files\Symcon\scripts“. Diese lädt die „__autoload.php“ im (wieder Windows) Verzeichnis „C:\ProgramData\Symcon\scripts“. Es ist das Verzeichnis, wo die selbst erstellten Skripts gespeichert werden. Nur als Hinweis für die Anderen ;).