template parser

Door Cyberboy fdsafds, 18 jaar geleden, 3.443x bekeken

Dit is een template parser die ik voor een opdrachtje voor school heb gemaakt, hij genereerd snel en makkelijk website's.

Heb niet de tijd gehad om hem volledig uit te werken....
Maar hij werkt wel!

Maak in de root map een mapje index en zet daar index.html met {INSERT_CONTENT} en waar het content moet komen te staan!

Maak ook een mapje tekst waar in je alle teksten zet!
tekstnaamtevensdetitelvanhetmenuitem.0
de .0 houd in dat hij bovenaan in het menu staat.

Het genereren werkt met divjes.... een divje content en een divje menu die uit een list bestaat... dus de gegenereerde website is qua layout makkelijk aan te passen in een css bestandje!

Voorbeeld: http://www.zchosting.nl/Storage/personal/mb/pohtml.php

Gesponsorde koppelingen

PHP script bestanden

  1. template-parser

 

Er zijn 18 reacties op 'Template parser'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Cyberboy fdsafds
Cyberboy fdsafds
18 jaar geleden
 
0 +1 -0 -1
Ik hoop dat jullie hier wat mee kunnen!
Verbeteringen en ander commetaar is van harte welkom!
Zal het zo spoedig mogelijk toepassen!
Mitch X
Mitch X
18 jaar geleden
 
0 +1 -0 -1
Waarom gebruik je geen echte constructor?
Ipv dat je alsnog een functie aan moet roepen?

__construct() is de PHP5 constructor, classname() die van PHP4.
Zie ook PHP.net.
Mebus  Hackintosh
Mebus Hackintosh
18 jaar geleden
 
0 +1 -0 -1
Ik vind eigenlijk niet echt helemaal een template parser.

Dit omdat er gedeeltelijke opmaak zelf in de template parser staat

De bedoeling van een template parser is om de hele inhoud van een template bestand opgeslagen als .html of .tpl deze helemaal te parsen en zo te echoén op een site

Dat gebeurd hier ook ma er staat al wat opmaak zo een hele eigen website kan niet, omdat afhankelijk bent van de opmaak die er al is

Voorderest zijn een paar meer tabs ook wel fijn

edit: En ook al iets bedacht voor bij het parsen binnenin in while lus?

GR. mebus
Cyberboy fdsafds
Cyberboy fdsafds
18 jaar geleden
 
0 +1 -0 -1
tja... ik heb het concept ook niet tot de puntjes uitgewerkt....
Ik moest voor informatica een html site maken, maar heb er zo een wat sneller systeem van gemaakt waar mee ze heel snel meerdere pagina's aan hun site kunnen toevoegen!

Vandaar, maar als je de code verbeterd en post dan zal ik het er wel op zetten!
Zodat er nog meer mensen gebruik van kunnen maken.....
Mebus  Hackintosh
Mebus Hackintosh
18 jaar geleden
 
0 +1 -0 -1
Mischien heb je hier wat aan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php

class PARSER {

    var
$templates = array();

    public function gettemp($file, $name_handle, $weg = NULL) {

        if(empty($weg)) {

            $path = 'templates/'.$file;
            $fp = fopen($path,'r');

        }
else {

            $path = 'templates/'.$weg.$file;
            $fp = fopen($path,'r');

        }


        while(!feof($fp)){
            @
$this->templates[$name_handle]['content'] .= fgets($fp,4096);
        }

    }


    public function parse($name, $variable, $value) {

        $this->templates[$name]['content'] = str_replace('{'.$variable.'}', $value, $this->templates[$name]['content']);

    }


    public function display($name) {

        echo $this->templates[$name]['content'];

    }

}


?>


Heb ik eens gemaakt ook een template parser lkkr simpel ben nu met een nieuwe bezig

http://www.phphulp.nl/forum/showtopic.php?cat=1&id=22890

Die dus ook while lussen aan kan maar dat wilt nog niet lukken ook heb al iets gemaakt

wat 2 templates kan samenvoegen een soort van samensmelting zal maar zeggen

Hoop dat als ik eindelijk dat while gedoe goed heb de parser hier ook op de website post:)

GR. mebus
Cyberboy fdsafds
Cyberboy fdsafds
18 jaar geleden
 
0 +1 -0 -1
Leuke template parser:D Maar daar heb je hem weer de beroemde maar:P ik moest een andere hebben die zelf een menu samen steld, aan de hand van de files die hij heeft gelezen!
Josko
josko
18 jaar geleden
 
0 +1 -0 -1
Mebus....
Dat heeft dus geen toepassing.

Dit gaat niet over het hoe en wat van een template parser of iets dergelijks.

het gaat over een parser die de huidige dir uitleest,
en daarvan een leuk printje geeft.

Met andere woorden, je post is zo goed als offtopic :)
Mebus  Hackintosh
Mebus Hackintosh
18 jaar geleden
 
0 +1 -0 -1
@josko dus jij bedoelt dat wanneer ik de index pagina open de template van bijvoorbeeld FAQ ook moet printen op de index?

Want zo zeg jij dat nu dus;)
Jelmer -
Jelmer -
18 jaar geleden
 
0 +1 -0 -1
Het is dus niet een zogenaamde 'template parser', maar meer een 'pagina-lijmer' die de losse pagina-bestanden aan elkaar lijmt en er een menuutje bij plakt.

Ik vind het trouwens wel een beetje een vage manier van klassen gebruiken. Je maakt een eigen constructor (die eigenlijk ook weer niet een constructor is want hij geeft het eindresultaat al meteen terug) met vreemde naamgeving (namen beginnend met underscore zijn over het algemeen bedoeld als private of protected)

Had je er een echte klasse van willen maken dan had je a) alle platte tekst, in dit geval verwijzingen naar mappen variabel en instelbaar kunnen maken, b) de error-afhandeling buiten het script geregeld (bijv. met try & catch) zodat hij voor meerdere talen en ingebouwd gebruikt had kunnen worden.

Misschien zou je zo nu en dan eens fclose en closedir aan kunnen roepen, scheelt weer wat in memory-gebruik...

PS: Deze klasse werkt prima met versie 4.
Lissy Pixel
Lissy Pixel
18 jaar geleden
 
0 +1 -0 -1
Ik heb weer een vraag die me bezighoudt namelijk wat is het voordeel om een template parser te gebruiken?
Arend a
Arend a
18 jaar geleden
 
0 +1 -0 -1
lissy: de reden is eigenlijk om alle html en code te kunnen scheiden. Voor grotere projecten kan dit een voordeel opleveren, omdat je bij een lay-out wijzigingen geen php programmeur nodig hebt (meestal nog wel een beetje, maar niet helemaal).

Verder is het overzichtelijk in je code: het is alleen code, en je html is alleen html (opmaak).
Lissy Pixel
Lissy Pixel
18 jaar geleden
 
0 +1 -0 -1
Arend : dank je wel voor je uitleg!!
Josko
josko
18 jaar geleden
 
0 +1 -0 -1
@mebus: ik zeg dat hij de huidige dir uitleest en dat weergeeft als menu.
niet iets met template FAQ :)

Marcel heeft dit gemaakt voor een informatica project,
ivm het feit dat ie géén zin heeft om meerdere html bestanden te maken.
hij wou heel simpel de layout maken, en dan de ander,
die nog html moest leren, de inhoud te maken.

waarom is het template parser:
het gebruikt een extern bestand voor de layout, en vult deze in.

natuurlijk is het niet helemaal correct.
Maar het is toch aardig dat ie het even hier post,
niet eens met de bedoeling op op / aan merkingen :)
Mebus  Hackintosh
Mebus Hackintosh
18 jaar geleden
 
0 +1 -0 -1
Ja oké das waar aan sommige kanten heb je ook wel weer gelijk

En is het natuurlijk altijd leuk dat ie zoiets post hier op de website dan leren we der ook nog iets van:D

O ja mijn template parser ken nu eindelijk while lussen aan:D na ja

GR. mebus!
Marcel K
Marcel K
18 jaar geleden
 
0 +1 -0 -1
Ben zeer benieuwd mebus naar jouw parser.
Parsers zijn nieuw voor mij, en om nu gelijk in Smarty te duiken is me iets teveel van het goede
Mebus  Hackintosh
Mebus Hackintosh
18 jaar geleden
 
0 +1 -0 -1
@daddy m, Ik kweet het smarty is redelijk groot ja.

Mijn parser bestandje is tot nu toe 4kb

handige dingen die je der er tot nu toe mee kunt doen:

Je kan hem ook simpel in een while lus gebruiken
En je kan 2 template's samen laten smelten zal maar zeggen:)

Zit nog wel steeds een foutje in while gedeelte waardoor ie bij sommige mysql tabellen niet de eerste record laat zien en bij andere tabellen weer wel

Ma daar ga morgen na kijken wat daarvan het probleem is

Na als je nog iets leuks weet voor me template parser zeg dat dan even:)

GR. mebus

edit: en mischien brengt marcel dat ook nog wel op ideeën
Cyberboy fdsafds
Cyberboy fdsafds
18 jaar geleden
 
0 +1 -0 -1
Ik heb ideeen zat, maar tijd te kort!
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Mebus  Hackintosh
Mebus Hackintosh
18 jaar geleden
 
0 +1 -0 -1
Vertel ze zou ik zeggen en mischien kan ik er wel iets mee:D

edit: De fout in het while gedeelte heb ik gevonden.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. template-parser

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.