Deze parser zou welliswaar iets sneller moeten zijn dan de double string parser die ook nog eens variabele en speciale characters moet parser, maar in praktijk is dat niet merkbaar door de, zoals al eerder gezegd, erg geoptimaliseerde double string parser.
Sterker nog, PHP herkent al of er variabele of speciale characters in de string staan en zo niet wordt die hele parser overgeslagen en wordt de string behandeld als een T_CONSTANT_ENCAPSED_STRING zowel dan wordt het behandeld als een T_ENCAPSED_AND_WHITESPACE (variabelen) en/of T_STRING.
variabelen tussen enkele quotes worden niet geparsed.
iig niet in mijn php 5.2
Frank zie mijn post van 06/10/2012 19:54:45 waarin ik reeds schrijf:
Ozzie PHP op 06/10/2012 19:54:45
Dubbele quotes heeft niets met html te maken zoals Reshad al zegt. Een voordeel is dat je niet hoeft te escapen en daarnaast is het in theorie sneller omdat de string niet wordt gecontroleerd op mogelijke variabelen.
@Wouter: oké :-)
(kun je die uitleg van de broncode ergens terugvinden?)
Jaron, dit noemen we constants. Define is slechts de lelijke manier waarop we in PHP constanten moeten instellen.
Until PHP 5.3, const could not be used in the global scope. You could only use this from within a class. This should be used when you want to set some kind of constant option or setting that pertains to that class. Or maybe you want to create some kind of enum.
define can be used for the same purpose, but it can only be used in the global scope. It should only be used for global settings that affect the entire application.
Om de laatste 2 constants te maken, de rest zit al standaard in PHP, heb je de functie [php]define[/php] nodig:
<?php
define('FOO', 'bar');
define('BAR', 'baz');
?>
Maar die dingen heten constants en geen defines.
En ook nogmaals, de manier waarop we in PHP variabelen en constants definiëren is niet helemaal geweldig. Beter is de manier in JAVA (even omgezet naar geen OO):
<?php
string bar = 'foo';
int foo = 1;
const BAZ = 'hello world';
?>