Funktionen können einen privaten oder öffentlichen Cache festlegen, um die Effizienz zu verbessern. Sie können frei wählen, ob Sie eine Stream-Komponente oder eine FSO-Komponente verwenden möchten. Unterstützt benutzerdefinierte Dateikodierung und speichert Dateiattribute
.
Name
Text, der Vorlagenname, wird hauptsächlich zur Unterscheidung verschiedener Vorlagen bei Verwendung des öffentlichen Caches verwendet.
Format
Text, Dateikodierungstyp, einstellbarer Wert.
Objekt
Text kann mithilfe von Komponenten Werte festlegen:
Strom
BFS
Öffentlicher Cache
Boolescher Wert, öffentlichen Cache verwenden. Wenn diese Option aktiviert ist, wird die Vorlagendatei im Anwendungsobjekt gespeichert. Andere Objekte, die auf diese Vorlagenklasse verweisen, können aus dem Cache lesen, indem sie denselben Namenswert festlegen und auch den öffentlichen Cache öffnen. (Lademethode)
Privater Cache
Boolescher Wert, privaten Cache verwenden. Wenn diese Option aktiviert ist, wird die Vorlagendatei in der internen Variablen des Objekts gespeichert und kann von demselben Objekt gelesen werden, das auf diese Vorlagenklasse verweist. (Lademethode)
Richtung
Text, Verzeichnis, in dem sich die Vorlagendatei befindet, keine Schrägstriche oder Backslashes davor und danach, wie zum Beispiel: template/default
Datei
Text, Name der Vorlagendatei, kein Schrägstrich oder Backslash davor, z. B.: default.html
Richtung speichern
Text, das Verzeichnis, in dem die Datei gespeichert ist, ohne Schrägstriche oder Backslashes davor und danach, wie zum Beispiel: html/default
Datei speichern
Text, Dateiname speichern, kein Schrägstrich oder Backslash davor, z. B.: default.html
Objekt
Code
Text, der aktuelle Text. Dieses Objekt wird bei Verwendung der SetVar-Methode ersetzt und die Vorlage wird bei Verwendung der Load-Methode auf dieses Objekt überladen
Lagerung
Text, gespeicherter Text Bei Verwendung der SaveFront- oder SaveLast-Methode wird der Text im Code-Objekt am Anfang oder Ende dieses Objekts gespeichert. Er kann verwendet werden, um alle Codes nach der Schleife abzurufen.
Verfahren
ClearCache
Öffentliche und private Caches löschen (Neuladen der Vorlage aus Datei erzwingen)
ClearPublicCache
Öffentlichen Cache leeren
ClearPrivateCache
Privaten Cache löschen
ClearCode
Codeobjekt löschen
ClearStorage
Speicherobjekt löschen
SaveFront
Speichern Sie den Text im aktuellen Code-Objekt am Anfang des Storage-Objekts
SpeichernZuletzt
Speichern Sie den Text im aktuellen Codeobjekt bis zum Ende des Storage-Objekts
SaveCode
Speichern Sie den Text im aktuellen Codeobjekt in einer Datei
Speicher speichern
Speichern Sie den Text im aktuellen Speicherobjekt in einer Datei
SetVar
Parameter zum Ersetzen von Text im aktuellen Codeobjekt: zu ersetzender Text, zu ersetzender Text
Laden
Laden Sie die Vorlagendatei in das Codeobjekt. Wenn der private Cache aktiviert ist und vorhanden ist, wird sie aus dem privaten Cache geladen. Wenn er aktiviert ist und der öffentliche Cache vorhanden ist, wird er aus dem öffentlichen Cache geladen. es wird aus der Datei geladen.
interne Variablen
ccStrPath
Standard-Stammverzeichnis
ccStrCookieName
Standardpräfix für den Namen des Anwendungsobjekts
Code
Klasse ccClsTemplate
Private ccStrCode,ccStrStorage
PrivateccStrCacheCode
Privater ccBlnPublicCache, ccBlnPrivateCache
Privater ccStrName,ccStrCookieName
Privat ccStrDirection, ccStrSaveDirection, ccStrFile, ccStrSaveFile, ccStrPath
Privat ccObjStream,ccObjFSO,ccStrFormat,ccIntObject,ccObjText,ccIntFormat
Private Sub Class_Initialize
ccStrName = "default" 'Standardname
ccBlnPublicCache = Falsch
ccBlnPrivateCache = Falsch
ccStrFile = "cache.html"
ccStrSaveFile = "save_cache.html"
ccStrCookieName = "ccClass_Template" 'Präfix für den Namen des Anwendungsobjekts
ccStrFormat = "UTF-8" 'UTF-8|ASCII|GB2312|BIG5
ccIntFormat = -1
ccIntObject = 1 'Standardmäßige Lese-/Speichervorlagenkomponente 1:ADODB.Stream 2:FSO
ccStrPath = Server.MapPath("./")&"" 'Standard-Root-Pfad
End Sub
Public Property Let Name(ccStrName_in)
ccStrName = LCase(Trim(ccStrName_in))
End-Eigenschaft
Öffentliche Eigenschaft Let Format(ccStrFormat_in)
ccStrFormat = ccStrFormat_in
Wenn InStr(LCase(Trim(ccStrFormat_in)),"utf") > 0 Dann
ccIntFormat = -1
Anders
ccIntFormat = 0
Ende wenn
End-Eigenschaft
Öffentliche Eigenschaft Let Object(ccStrObject_in)
ccStrObject_in = LCase(Trim(ccStrObject_in))
Wenn InStr(ccStrObject_in,"fso") > 0 Dann
ccIntObject = 2
Anders
ccIntObject = 1
Ende wenn
End-Eigenschaft
Öffentliche Eigenschaft Let PublicCache(ccBlnPublicCache_in)
Wenn ccBlnPublicCache_in = True, dann
ccBlnPublicCache = True
Anders
ccBlnPublicCache = Falsch
Ende wenn
End-Eigenschaft
Öffentliche Eigenschaft Let PrivateCache(ccBlnPrivateCache_in)
Wenn ccBlnPrivateCache_in = True, dann
ccBlnPrivateCache = True
Anders
ccBlnPrivateCache = Falsch
Ende wenn
End-Eigenschaft
Öffentliche Eigenschaft Let Direction(ccStrDirection_in)
ccStrDirection = ccStrDirection_in
End-Eigenschaft
Öffentliche Eigenschaft Let File(ccStrFile_in)
Wenn ccStrFile_in <> "" Dann
ccStrFile = ccStrFile_in
Ende wenn
End-Eigenschaft
Öffentliche Eigenschaft Let SaveDirection(ccStrSaveDirection_in)
ccStrSaveDirection = ccStrSaveDirection_in
End-Eigenschaft
Öffentliche Eigenschaft Let SaveFile(ccStrSaveFile_in)
Wenn ccStrSaveFile_in <> "" Dann
ccStrSaveFile = ccStrSaveFile_in
Ende wenn
Ende Eigentum
Öffentliches Eigentum Code abrufen
Code = ccStrCode
Ende Eigentum
Öffentliches Eigentum Holen Sie sich Lagerung
Storage=ccStrStorage
den öffentlichen Sub-ClearCache
der Eigenschaft
Rufen Sie ClearPrivateCache auf
Rufen Sie ClearPublicCache auf
End Sub
Public Sub ClearPrivateCache
ccStrCacheCode = ""
End Sub
Public Sub ClearPublicCache
Application(ccStrCookieName&ccStrName) = ""
End Sub
Public Sub ClearStorage
ccStrStorage = ""
End Sub
Public Sub ClearCode
ccStrCode = ""
Sub
Public Sub SaveFront
beenden
ccStrStorage = ccStrCode & ccStrStorage
End Sub
Public Sub SaveLast
ccStrStorage = ccStrStorage & ccStrCode
End Sub
Public Sub SaveCode
Rufen Sie SaveToFile(1) auf.
Sub
Public Sub SaveStorage
beenden
SaveToFile(2) aufrufen
End Sub
Public Sub SetVar(ccStrTag_in,ccStrValue_in)
ccStrCode = RePlace(ccStrCode,ccStrTag_in,ccStrValue_in)
End Sub
Private Sub SaveToFile(ccIntCode_in)
Dimmen Sie ccStrSaveCode
Wenn ccIntCode_in = 1, dann
ccStrSaveCode = ccStrCode
Anders
ccStrSaveCode = ccStrStorage
Ende wenn
Wenn ccIntObject = 1, dann
Setze ccObjStream = Server.CreateObject("ADODB.Stream")
Mit ccObjStream
.Typ = 2
.Modus = 3
.Offen
.Charset = ccStrFormat
.Position = ccObjStream.Size
.WriteText ccStrSaveCode
.SaveToFile ccStrPath & ccStrSaveDirection & "" & ccStrSaveFile,2
.Schließen
Ende mit
Setze ccObjStream = Nothing
Anders
Setze ccObjFSO = CreateObject("Scripting.FileSystemObject")
Wenn ccObjFSO.FileExists(ccStrPath & ccStrSaveDirection & "" & ccStrSaveFile) = True, dann
ccObjFSO.DeleteFile(ccStrPath & ccStrSaveDirection & "" & ccStrSaveFile)
Ende wenn
Setze ccObjText = ccObjFSO.OpenTextFile(ccStrPath & ccStrSaveDirection & "" & ccStrSaveFile,2,True,ccIntFormat)
ccObjText.Write ccStrSaveCode
Setze ccObjText = Nothing
Setze ccObjFSO = Nichts
Ende wenn
ccStrSaveCode = ""
Sub
Public Sub Load
beenden
ccStrCode = ""
Wenn ccBlnPrivateCache = True, dann
Wenn ccFncIsEmpty(ccStrCacheCode) = False Dann
ccStrCode = ccStrCacheCode
Sub verlassen
Ende wenn
Ende wenn
Wenn ccBlnPublicCache = True, dann
Wenn ccFncIsEmpty(Application(ccStrCookieName&ccStrName)) = False Dann
ccStrCode = Anwendung(ccStrCookieName&ccStrName)
Sub verlassen
Ende wenn
Ende wenn
Wenn ccIntObject = 1, dann
Setze ccObjStream = Server.CreateObject("ADODB.Stream")
Mit ccObjStream
.Typ = 2
.Modus = 3
.Offen
.Charset = ccStrFormat
.Position = ccObjStream.Size
.LoadFromFile ccStrPath & ccStrDirection & "" & ccStrFile
ccStrCode = .ReadText
.Schließen
Ende mit
Setze ccObjStream = Nothing
Anders
Setze ccObjFSO = CreateObject("Scripting.FileSystemObject")
Wenn ccObjFSO.FileExists(ccStrPath & ccStrDirection & "" & ccStrFile) = True, dann
Setze ccObjText = ccObjFSO.OpenTextFile(ccStrPath & ccStrDirection & "" & ccStrFile,1,False,ccIntFormat)
ccStrCode = ccObjText.ReadAll
Setze ccObjText = Nothing
Ende wenn
Setze ccObjFSO = Nichts
Ende wenn
Wenn ccBlnPrivateCache = True, dann
ccStrCacheCode = ccStrCode
Ende wenn
Wenn ccBlnPublicCache = True, dann
Anwendung(ccStrCookieName&ccStrName) = ccStrCode
Ende wenn
End Sub
End Class
Function ccFncIsEmpty(ByRef ccStrValue_in)
Wenn IsNull(ccStrValue_in) oder IsEmpty(ccStrValue_in) oder ccStrValue_in = "" dann
ccFncIsEmpty = True
Anders
ccFncIsEmpty = Falsch
Ende wenn
Funktion beenden
Beispiel
Inhalt der Vorlagendatei
<#test#>
ASP-Programmcode
Dim objTemplate
Legen Sie objTemplate = New ccClsTemplate fest
objTemplate.Name = "Test"
objTemplate.Format = "UTF-8"
'Caching aktivieren
objTemplate.PublicCache = True
objTemplate.PrivateCache = True
'Vorlagenverzeichnis und Dateinamen festlegen
objTemplate.Direction = "test"
objTemplate.File = "test.html"
'Legen Sie das Speicherverzeichnis und den Dateinamen fest
objTemplate.SaveDirection = "test"
objTemplate.SaveFile = "test3.html"
'Vorlage laden
Rufen Sie objTemplate.Load auf
'Textersetzung durchführen
Rufen Sie objTemplate.SetVar("<#test#>","Hallo Welt.") auf.
„Speichern Sie den Text im Speicher
Rufen Sie objTemplate.SaveLast auf
„Laden Sie die Vorlage neu. Sie wird aus dem privaten Cache neu geladen, um die Effizienz zu verbessern.“
Rufen Sie objTemplate.Load auf
'durch anderen Wert ersetzen
Rufen Sie objTemplate.SetVar("<#test#>"," By Cloudream.") auf.
'Speichern Sie bis zum Ende des Speichers, um ihn vorübergehend zu speichern
Rufen Sie objTemplate.SaveLast auf
'Code in Datei speichern
Rufen Sie objTemplate.SaveCode auf
Response.Write objTemplate.Storage
Set objTemplate = Nothing
Ergebnisse anzeigen
Welt
. Von Cloudream
Von Cloudream.