shorttags wrapper

Door Jelmer -, 10 jaar geleden, 4.016x bekeken

Een trucje om toch de shorthand open en sluit-tags te kunnen gebruiken in PHP, ook als dat niet aan staat op de server waar je het script draait. En een voorbeeldje hoe je dingen kunt doen met stream-wrappers.

Er zit een functie, phtml_file, bij om gemakkelijk automatisch te kunnen beslissen of je wel of niet de wrapper nodig hebt.

Voorbeeldje van gebruik:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
include phtml_file('./templates/index.phtml');

// of gewoon kaal:
include 'phpfile://./templates/index.phtml';
?>


Ik gebruik hem zelf wel eens zo nu en dan, en heb er geen problemen mee ervaren, maar eigenlijk gaat het wat mis met stream_read omdat ik meer bytes kan teruggeven dan $count groot is. Ik weet niet of dat heel erg erg is.

Dit is eigenlijk maar een voorbeeldje van een toepassing, en ik heb het voor mezelf geschreven omdat ik wou kijken of het kon. Als dit goed werkt, zou je in principe veel verder kunnen gaan en een hele preprocessor kunnen bouwen die van jouw code PHP code maakt, en je kan het nog transparant in je andere PHP code gebruiken ook!

Gesponsorde koppelingen

PHP script bestanden

  1. phpfilestream.php

 

Er zijn 8 reacties op 'Shorttags wrapper'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Maarten PHP
Maarten PHP
10 jaar geleden
 
0 +1 -0 -1
heb je een voorbeeldje op je server want ik snap niet nog niet echt?
Jordi Kroon
Jordi Kroon
10 jaar geleden
 
Dit zijn echt onzin scripts. Waarom niet gewoon <?php aanleren het scheelt maar 3 letters zo moeilijk is dat niet.
Jelmer -
Jelmer -
10 jaar geleden
 
0 +1 -0 -1
Quote:
Dit zijn echt onzin scripts.

Nee, gewoon een gebrek aan creativiteit >:) Dit is een heel heel simpel voorbeeldje van hoe je een preprocessor voor PHP code zou kunnen schrijven. In de praktijk wss niet een goed idee, maar dat zou je niet moeten tegenhouden om ermee te experimenteren.

En omdat <?php echo in je templates wel degelijk moeilijker te lezen is dan <?= tussen al je html in je templates. 'Gebruik dan Smarty!' Ja, maar PHP is al een template taal, en voldoet prima. Alleen zijn sommige puristen zo kinderachtig shorttags uit te zetten omdat dat zou botsen met xml.
Karl Karl
Karl Karl
10 jaar geleden
 
Ik vind het een mooi voorbeeld van wat er allemaal mogelijk is met php. Misschien is dit short tag voorbeeld een beetje krom, aangezien je soms (ook niet zo vaak) problemen kan krijgen met xml, maar toch een mooi voorbeeld.
Jordi Kroon
Jordi Kroon
10 jaar geleden
 
0 +1 -0 -1
Ohw en hoezo noem je dit eigenlijk een /hack?
Jelmer -
Jelmer -
10 jaar geleden
 
0 +1 -0 -1
Ja, geen idee eigenlijk. Omdat de stream wrappers interface waarschijnlijk niet ontworpen is dit soort dingen. Maar then again, dat geldt voor zoveel dingen die creatief gebruikt worden. Ik heb 'hack' weggehaald uit de omschrijving.
Pim -
Pim -
10 jaar geleden
 
0 +1 -0 -1
Leuk bedacht.
Misschien kan je er een kleine tut van maken om uit te leggen waar het geheel en de specifieke methoden voor dienen?

En hoe ga je met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? /* statement */ ?>
om?

Quote:
'Gebruik dan Smarty!' Ja, maar PHP is al een template taal, en voldoet prima.

Output escaping...
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Niels K
Niels K
10 jaar geleden
 
0 +1 -0 -1
Mooie toevoeging! Maar wel heeeel vies.. :)

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

Inhoudsopgave

  1. phpfilestream.php

Labels

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.