PHP-scripts in apart PHP-bestand
Net zoals ik opmaakstijlen in een apart bestand heb met de toevoeging /CSS, zou ik ook graag PHP-scripts in een apart bestand willen plaatsen. Zo zou ik daar makkelijk eventuele PHP-scripts kunnen vinden en eventueel wijzigen. In de HTML-pagina's zou ik dan gewoon alleen maar de PHP-oproepen kunnen opnemen die dan gekoppeld zouden kunnen zijn aan die PHP-scripts in dat aparte PHP-bestand.
Ik heb me al rot gezocht op het internet, maar ik kan daar nergens het antwoord op vinden. Wel ben ik al verschillende keren een soortgelijke vraag tegen gekomen. Dus mogelijk vraag ik te veel omdat dit niet mogelijk is?
Ik heb me al rot gezocht op het internet, maar ik kan daar nergens het antwoord op vinden. Wel ben ik al verschillende keren een soortgelijke vraag tegen gekomen. Dus mogelijk vraag ik te veel omdat dit niet mogelijk is?
Gewijzigd op 21/11/2021 17:55:47 door Gerard van Katwijk
Wat je zoekt is een templateparser. Daarmee houd je PHP code gescheiden van de HTML.
Ikzelf gebruik Smarty, maar Twig is ook een hele goede.
Ikzelf gebruik Smarty, maar Twig is ook een hele goede.
- Ariën - op 21/11/2021 17:44:27:
Wat je zoekt is een templateparser.
Even opgezocht wat dat inhoudt. Het is dus een apart programmaatje en zonder dat is het dus niet mogelijk wat ik wil? Jammer; ik zie de bui al weer hangen (geen Nederlandstalige versie en/of gebruiksaanwijzing).
Quote:
Daarmee houd je PHP-code gescheiden van de HTML.
Ik denk dat ik het snap. Ter controle: wanneer ik dus in de broncode van HTML-pagina's, tussen <title> en </title> de PHP-instructie zou plaatsen, zou het resultaat daarvan dan als venster- of tabblad (afhankelijk van de 'browser') moeten verschijnen. Maar ik neem aan, dat "paginatitel.php" dan voorafgegaan moet worden door een verwijzing naar dat aparte bestand met PHP-scripts. Of is dat niet nodig?
Quote:
Ikzelf gebruik Smarty, maar Twig is ook een hele goede.
Werkt dat ook met het Raspberry-besturingssysteem?
Gewijzigd op 21/11/2021 18:42:58 door Gerard van Katwijk
Hoe kom je erbij dat het een apart programmaatje is? Het is gewoon een uitgebreid PHP-script. Geen los programma dus waarbij je root-toegang tot een server moet hebben. Valt toch mee, hé? ;-)
Zie ook dit als simpele voorbeeld:
https://www.phphulp.nl/php/tutorial/data-verwerking/template-parser/586/inleiding/1525/
En als je bijv. Smarty pakt, zie je hoe eenvoudig het is.
https://www.smarty.net/syntax_comparison
Persoonlijk ben ik niet zo van PHP-code uitvoeren in een template. Daar heb je variabelen voor, zoals dit: {$content}
Je weet nu dat het een PHP-script is, dus de vraag of het op een Raspberry Pi draait kan je vast zelf nu wel beantwoorden. ;-)
Zie ook dit als simpele voorbeeld:
https://www.phphulp.nl/php/tutorial/data-verwerking/template-parser/586/inleiding/1525/
En als je bijv. Smarty pakt, zie je hoe eenvoudig het is.
https://www.smarty.net/syntax_comparison
Persoonlijk ben ik niet zo van PHP-code uitvoeren in een template. Daar heb je variabelen voor, zoals dit: {$content}
Je weet nu dat het een PHP-script is, dus de vraag of het op een Raspberry Pi draait kan je vast zelf nu wel beantwoorden. ;-)
Gewijzigd op 21/11/2021 19:10:57 door - Ariën -
- Ariën - op 21/11/2021 18:56:13:
Hoe kom je erbij dat het een apart programmaatje is? Het is gewoon een uitgebreid PHP-script. Geen los programma dus waarbij je root-toegang tot een server moet hebben. Valt toch mee, hé? ;-)
Kennelijk volkomen verkeerd begrepen. Ja, dit valt mee.
Quote:
Zie ook dit als simpele voorbeeld:
https://www.phphulp.nl/php/tutorial/data-verwerking/template-parser/586/inleiding/1525/
En als je bijv. Smarty pakt, zie je hoe eenvoudig het is.
https://www.smarty.net/syntax_comparison
https://www.phphulp.nl/php/tutorial/data-verwerking/template-parser/586/inleiding/1525/
En als je bijv. Smarty pakt, zie je hoe eenvoudig het is.
https://www.smarty.net/syntax_comparison
Morgen ga ik hier met frisse moed induiken. :)
Quote:
Er valt voor mij nog een hoop te leren. ;) In elk geval alvast bedankt voor jouw reacties vandaag. :)Persoonlijk ben ik niet zo van PHP-code uitvoeren in een template. Daar heb je variabelen voor, zoals dit: {$content}
Succes!
Laat maar weten of het wel of niet gelukt is. En waar je anders tegenaan loopt.
Laat maar weten of het wel of niet gelukt is. En waar je anders tegenaan loopt.
- Ariën - op 21/11/2021 19:33:53:
Succes!
Laat maar weten of het wel of niet gelukt is. En waar je anders tegenaan loopt.
Laat maar weten of het wel of niet gelukt is. En waar je anders tegenaan loopt.
Oops. Ik probeerde het op te halen maar er verscheen van alles maar niet in de map "Downloads" maar in de map "pi". Ik denk dat ik beter aan Smarty kan komen middels mijn LXTerminal maar hoe luidt dan het commando om Smarty te installeren?
Wil je dit via Composer doen?
Of via Git:
Of gewoon als zip file binnenhalen om uit te pakken?
https://www.smarty.net/download
Make your choice.
Je kan ook op een desktop PC met WinSCP eenvoudig inloggen op je Raspberry Pi en via een verkenner-achtige methode je bestanden daar beheren.
Tenzij je graag commando's wilt gebruiken om al je acties uit te voeren. Dan verwijs ik je graag door naar een tutorial Linux die over de commandline gaat.
Unzip, wget, ls en cd zijn een aantal commando's die zeker niet onmisbaar zijn.
Of via Git:
Of gewoon als zip file binnenhalen om uit te pakken?
https://www.smarty.net/download
Make your choice.
Je kan ook op een desktop PC met WinSCP eenvoudig inloggen op je Raspberry Pi en via een verkenner-achtige methode je bestanden daar beheren.
Tenzij je graag commando's wilt gebruiken om al je acties uit te voeren. Dan verwijs ik je graag door naar een tutorial Linux die over de commandline gaat.
Unzip, wget, ls en cd zijn een aantal commando's die zeker niet onmisbaar zijn.
Gewijzigd op 22/11/2021 09:03:04 door - Ariën -
Hallo Arien,
Windows en andere MicroSoft-producten heb ik m'n hele leven al gemeden als de pest en van jongs af aan (nou ja, al zo'n 30 jaar) ben ik "verpest" door de gebruiksvriendelijkheid van eerst de Acorncomputers (beginnend bij de BBC-B) tot heden met het RISC-besturingssysteem. Gebruiksvriendelijker en intuitiever is mij nog niet bekend. Sinds nog niet zo lang, verdiep ik mij in zaken gerelateeerd aan het Raspberry-besturingssysteem. Niet zo gebruiksvriendelijk en intuitief als het RISC-besturingssysteem maar het kan veel rotter.
Inmiddels lijk ik met behulp van m'n LXTerminal en het commando "sudo apt-get install -y smarty" e.e.a. voor elkaar te hebben. :)
Windows en andere MicroSoft-producten heb ik m'n hele leven al gemeden als de pest en van jongs af aan (nou ja, al zo'n 30 jaar) ben ik "verpest" door de gebruiksvriendelijkheid van eerst de Acorncomputers (beginnend bij de BBC-B) tot heden met het RISC-besturingssysteem. Gebruiksvriendelijker en intuitiever is mij nog niet bekend. Sinds nog niet zo lang, verdiep ik mij in zaken gerelateeerd aan het Raspberry-besturingssysteem. Niet zo gebruiksvriendelijk en intuitief als het RISC-besturingssysteem maar het kan veel rotter.
Inmiddels lijk ik met behulp van m'n LXTerminal en het commando "sudo apt-get install -y smarty" e.e.a. voor elkaar te hebben. :)
Gewijzigd op 22/11/2021 09:23:57 door Gerard van Katwijk
Je werkt niet met desktop scherm, al is het misschien op een Mac of Linux? Ook daar heb je dergelijke software voor om via SFTP verbinding met je Pi te maken om dit makkelijk te beheren in grafische weergave.
Als je Smarty geinstalleerd hebt, dat is het nog een kwestie van dit inladen in je PHP Script. Met Composer hoef je enkel de autoloader te includen en de basisconfiguratie toe te voegen.
Als je Smarty geinstalleerd hebt, dat is het nog een kwestie van dit inladen in je PHP Script. Met Composer hoef je enkel de autoloader te includen en de basisconfiguratie toe te voegen.
Gewijzigd op 22/11/2021 09:26:45 door - Ariën -
- Ariën - op 22/11/2021 09:23:57:
Je werkt niet met desktop scherm, al is het misschien op een Mac of Linux? Ook daar heb je dergelijke software voor om via SFTP verbinding met je Pi te maken.
Nee, dat zegt me niets. Ik gebruik in combinatie met m'n Raspberry Pi het door de Raspberry foundation aanbevolen Raspberry-besturingssysteem. Zelfs een "SFTP"-verbinding zegt mij niets, maar mogelijk maak ik daar gebruik van zonder dat ik me daar bewust van ben. ;)
Gewijzigd op 22/11/2021 09:29:11 door Gerard van Katwijk
Hoe schrijf je jouw berichten op dit forum dan? Toch niet via Lynx en cURL commando's? :-D
Een desktopweergave is zeker handig. Vooral bij het programmeren in een goede editor. Je wilt toch niet altijd met Nano o.i.d werken in een grove shell? ;-)
Een desktopweergave is zeker handig. Vooral bij het programmeren in een goede editor. Je wilt toch niet altijd met Nano o.i.d werken in een grove shell? ;-)
- Ariën - op 21/11/2021 18:56:13:
Persoonlijk ben ik niet zo van PHP-code uitvoeren in een template. Daar heb je variabelen voor, zoals dit: {$content}
Naast Smarty is er dus deze optie. Ik heb daarop al gezocht op het internet maar niet wijzer geworden. Als het niet te veel werk is, kun je dan enige uitleg geven.
Dát is de syntax van Smarty. Zie ook de link over de Smarty syntax die ik eerder gaf.
Dan hoef je alleen nog een index.tpl aan te maken met o.a: {$inhoud}
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
$smarty->setTemplateDir('/web/www.example.com/guestbook/templates/');
$smarty->setCompileDir('/web/www.example.com/guestbook/templates_c/');
$smarty->setConfigDir('/web/www.example.com/guestbook/configs/');
$smarty->setCacheDir('/web/www.example.com/guestbook/cache/');
$smarty->assign('inhoud','PHPhulp is een goede site!');
$smarty->display('index.tpl');
?>
require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
$smarty->setTemplateDir('/web/www.example.com/guestbook/templates/');
$smarty->setCompileDir('/web/www.example.com/guestbook/templates_c/');
$smarty->setConfigDir('/web/www.example.com/guestbook/configs/');
$smarty->setCacheDir('/web/www.example.com/guestbook/cache/');
$smarty->assign('inhoud','PHPhulp is een goede site!');
$smarty->display('index.tpl');
?>
Dan hoef je alleen nog een index.tpl aan te maken met o.a: {$inhoud}
Gewijzigd op 22/11/2021 09:44:58 door - Ariën -
- Ariën - op 22/11/2021 09:34:58:
Hoe schrijf je jouw berichten op dit forum dan? Toch niet via Lynx en cURL commando's? :-D
Gewoon door op m'n beeldscherm te kijken waar https://www.phphulp.nl/forum/ op wordt geprojecteerd en op m'n toetsenbord te tikken. :)
Quote:
Een desktopweergave is zeker handig. Vooral bij het programmeren in een goede editor. Je wilt toch niet altijd met Nano o.i.d werken in een grove shell? ;-)
Met RISC maakte ik gebruik van StrongEd en met Raspberry van Geany.
En wat projecteert het dan? Op welk Operating System werk je dan? Of is dat een groot geheim ;-)
Bij programmeren wil je graag in een grafische interface werken. Makkelijk selecteren, automatisch je code formatten, auto-complete van functies.
Bij programmeren wil je graag in een grafische interface werken. Makkelijk selecteren, automatisch je code formatten, auto-complete van functies.
Even kijken of ik het snap.
Ik heb een bestand index.php gemaakt. Moet ik daarin deze code plaatsen en zo ja, waar precies?
Ik heb een bestand index.php gemaakt. Moet ik daarin deze code plaatsen en zo ja, waar precies?
Speel er eens mee. ;-)
- Ariën - op 22/11/2021 09:50:37:
Niets geheim. ;) Alleen PHP heeft nog veel geheimen voor mij. Ik werk met het Raspberry-besturingssysteem. Sinds vorige week is daarop LAMP geinstalleerden en nu wil ik PHP onder de knie krijgen. Aanleiding was, dat wanneer ik een Website-achtig iets had gemaakt (van bij voorbeeld 10 pagina's) en ik bijvoorbeeld de tekst van een menuknop wilde wijzigen, ik dat dan 10 keer moest doen. In PHP zou dat in 1 keer kunnen (net zoals je middels een stijl in 1 keer alles wat door zo'n stijl beinvloed wordt kunt wijzigen).En wat projecteert het dan? Op welk Operating System werk je dan? Of is dat een groot geheim ;-)
Quote:
Bij programmeren wil je graag in een grafische interface werken. Makkelijk selecteren, automatisch je code formatten, auto-complete van functies.
Snap ik nu? Geany is dus die grafische interface?
Als jij mijn vragen ontwijkt, dan kan ik er moeilijk op antwoorden. Je weet het verschil tussen een grafische interface en een commandline?
Verder ken ik Geany niet. Ik gebruik zelf Apache Netbeans om te programmeren.
Verder ken ik Geany niet. Ik gebruik zelf Apache Netbeans om te programmeren.
- Ariën - op 22/11/2021 09:56:28:
Speel er eens mee. ;-)
Nou, noodgedwongen speel ik al zo'n hoop maar daar wordt ik nou juist gek van. ;) Ik heb die php-code van jou gekopieerd tussen de regels <html lang="nl"> en <head>, vanuit de gedachte, dat voor alles (om ook de inhoud van <title></title> te kunnen beinvloeden) smarty gedetecteerd zou moeten worden, maar dat (b)leek dus niet zinnig.
Vervolgens dan maar net boven <title>, maar ook dat leide tot niets. :(



