WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Variable-Scope verlassen?

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Variable-Scope verlassen? - 21 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Variable-Scope verlassen?
chip
Foren-Team
Threadstarter




Beiträge: 419

Hallo,

ich hab mich schon in der PHP-Manual umgeschaut aber keine Lösung gefunden. Gibt es eine Möglichkeit auf eine Variable von einem includeten-Dokument aus einer Klasse (im includeten-Dokument) zuzugreifen? Konkret geht es darum, dass meine Template-Klasse if-Bedingungen auswerten soll und dazu auf Variablen zugreifen soll, die außerhalb der Template-Klasse sind - eben im Dokument, das die Klasse includet.

---

  Profil   Website   Editieren   Zitieren
inko
Fachidiot




Beiträge: 133

So ganz genau habe ich nicht verstanden, was Du genau tun willst, aber grundsätzlich scheint Dir objektorientierte Programmierung noch nicht ganz klar zu sein, denn ansonsten würdest Du die Variable einfach beim Aufruf einer Funktion der Klasse übergeben.

  Profil   Editieren   Zitieren
chip
Foren-Team
Threadstarter




Beiträge: 419

Das mache ich ja. Ich suche mit preg_replace eine If-Bedingung im Template, übergebe diese an eine Funktion in der Klasse. Die Funktion in der Klasse soll aber nun, falls irgendeine Variable in der Bedingung vorkommt, diese überprüfen, auch wenn sie außerhalb der Klasse liegt.

---

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

globale Variablen befinden sich in $_GLOBALS. Auf Eigenschaften von Objekten (nicht von Klassen) kann man mit $this->varname oder $this->$varwithvarname zugreifen.

Ich verstehe jedoch nicht, wozu du ein eigenes Templatesystem baust - smarty.php.net

---
Weaverslave

  Profil   Website   Editieren   Zitieren
chip
Foren-Team
Threadstarter




Beiträge: 419

Ich wollte halt eins, was ich selber programmiert habe und mit dem ich mich vollständig auskenne. Einen anderen Weg als globale Variablen gibt es scheinbar nicht

---

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Ich verstehe ja, das man mal selber bauen will um zu lernen. Wenn es jedoch um Sachen wie Templatesysteme geht, würde ich möglichst etwas Existierendes verwenden.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
chip
Foren-Team
Threadstarter




Beiträge: 419

Mein Template-System funktioniert ja schon. Ich wollte es halt nur um eine nützliche Funktion erweitern. Bei smarty kommt ja hinzu, dass er die Templates sowieso cached und daraus funktionierenden PHP-Code erzeugt und das wollte ich eben nicht (k.A. warum )

---

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Weil die Seite sonst zu schnell sein könnte?

Bei einem Templatesystem kommt vor allem noch ein Problem dazu, sobald du es in Projekten einsetzt, an welchen mehrere Leute arbeiten. Die anderen müssen dann die Syntax und Fähigkeiten und Benennungen deines speziellen Templatesystems lernen. Dazu mußt du das erstmal dokumentieren. Das ist für beide Seiten zusätzlicher Lernaufwand.

Dies ist der Grund, warum ich XSLT als Templatesystem nutze. Da gibts sogar Bücher drüber - und ich brauche weniger Doku zu schreiben. *g*

---
Weaverslave

  Profil   Website   Editieren   Zitieren
chip
Foren-Team
Threadstarter




Beiträge: 419

subjective schrieb am 19.10.2004 17:56
Dies ist der Grund, warum ich XSLT als Templatesystem nutze. Da gibts sogar Bücher drüber - und ich brauche weniger Doku zu schreiben. *g*


Gibt's zu den in PHP integrierten Funktionen ein nettes deutsches Tutorial?

Übrigens, das stimmt schon, dass smarty durch Cachen sehr schnell ist, aber die erzeugten Seiten sind ja wieder eine Mischung aus PHP und HTML und das gefällt mir eben nicht so ganz.

---

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

mm weniger wenn du XSLT einsetzen willst, ist englisch Pflicht. Ich mache das jetzt schon etwas länger - von daher gucke ich nicht mehr nach Tutorials.

Übrigens, das stimmt schon, dass smarty durch Cachen sehr schnell ist, aber die erzeugten Seiten sind ja wieder eine Mischung aus PHP und HTML und das gefällt mir eben nicht so ganz.


*ähm* Die erzeuten Seiten sind reiner Text welchen der Browser dann interpretiert (als HTML, JS, CSS, ...). PHP-Code sollten diese Seiten nicht mehr enthalten, da dies kein Browser kapieren würde. Das ist jedoch bei jedem Templatesystem so.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
chip
Foren-Team
Threadstarter




Beiträge: 419

Sorry: Ich meine ja, dass die erzeugten Cache-Seiten, die dann an den Browser gesendet werden PHP-Code enthalten.

Es darf natürlich auch ein englisches Tutorial sein.

---

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Die Cache-Dateien werden nicht an den Browser geschickt. Sie werden ausgeführt.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
chip
Foren-Team
Threadstarter




Beiträge: 419

Ja OK. *michfürmeineunklareausdrucksweiseschäm* Du hast ja recht, weist aber wie ich es gemeint habe.

---

  Profil   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Ich verstehe aber nicht, warum du dies als Nachteil empfindest. Durch dieses Compilieren der Templates zu PHP ist Smarty deutlich schneller, als es mit String/RegEx-Funktionen wäre. Außerdem sollte sich ein Bytecode-Cache (Zend Accelerator zB) auch auf diese compilierten Templates auswirken - da es halt PHP-Dateien sind.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Variable-Scope verlassen?

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Variable-Scope verlassen? im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126501    Heute : 419     Gestern : 463     Online : 196     21.11.2024    13:40      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Nach oben