(Opgelost) Variabel uit config
Ik ben geloof ik wel is tegengekomen dat in de config.php het volgende staat (voorbeeld!)
En dat als je dan iets weer van $sitenaam in je php bestand typt dat er dan Machiel komt te staan.
Alleen dat is dus hetgene waar ik vastloop, wat moet ik neerzetten om $sitenaam (Machiel) te laten zien?
Mvg.
Gewijzigd op 07/10/2012 14:37:03 door Machiel K
en dan in een ander php bestand(bijv index.php) heb je:
bedoel je dit?
Verder kan je Bo's voorbeeld eens uitproberen.
EDIT: Aan je topic te zien denk ik dat je een echte beginner bent.
Zo een '$...' heet een variabel.
Gewijzigd op 06/10/2012 16:45:18 door Koen Hollander
Dankjewel Bo Ter Ham :)
@koen kun je mij vertellen waarom dubbele quotes voor html is? want dit is namelijk niet zo het is alleen maar een richtlijn om niet te hoeven escapen als je html en php door elkaar gebruikt maar fout is het niet.
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.
In theorie maar niet in praktijk, ook de enkele quotes moeten door een parser en de parser van de speciale characters is zo geoptimaliseerd dat het niks meer uit maakt.
Wat bedoel je met "de parser van de speciale characters"?
Het verschil tussen enkele en dubbele quotes is dat de dubbele variabele en speciale characters als \n \t ect. kunnen parsen. Maar de single quotes worden alsnog in een parser gegooid om bijv. quotes te kunnen escapen. Al met al gaat het parser verhaal dus niet helemaal op.
Ah, die speciale characters. Hmmm, ik meen toch ooit gelezen te hebben dat enkele quotes niet door de parser gaan. Is dat dan veranderd?
Toevoeging op 07/10/2012 00:06:39:
Koen Hollander op 06/10/2012 16:39:51:
Aan je topic te zien denk ik dat je een echte beginner bent.
Zo een '$...' heet een variabel.
Zo een '$...' heet een variabel.
Koen: jij bent nooit een beginner geweest?
Quote:
Ah, die speciale characters. Hmmm, ik meen toch ooit gelezen te hebben dat enkele quotes niet door de parser gaan. Is dat dan veranderd?
Nee, dat is een fabel. Als je bijv. dit hebt:
En het wordt
Dan moet er toch iets door een parser zijn gegaan:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
+------------+
| |
'Foo doesn\'t exists' --> | PHP parser | --> T_CONSTANT_ENCAPSED_STRING
| | ||
+------------+ \/
+---------------+
| Single string |
| parser | --> Foo doesn't exists
+---------------+
| |
'Foo doesn\'t exists' --> | PHP parser | --> T_CONSTANT_ENCAPSED_STRING
| | ||
+------------+ \/
+---------------+
| Single string |
| parser | --> Foo doesn't exists
+---------------+
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.
Gewijzigd op 07/10/2012 00:20:22 door Wouter J
Aha, oké. Maar hoe kom je aan deze informatie?
hebben jullie mijn voorbeeld ook gezien?
variabelen tussen enkele quotes worden niet geparsed.
iig niet in mijn php 5.2
Ozzie, dit komt door deels logisch redeneren en deels door de broncode van PHP te snappen.
Frank Nietbelangrijk op 07/10/2012 01:07:45:
@ozzie en wouter,
hebben jullie mijn voorbeeld ook gezien?
variabelen tussen enkele quotes worden niet geparsed.
iig niet in mijn php 5.2
hebben jullie mijn voorbeeld ook gezien?
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?)
Gewijzigd op 07/10/2012 09:47:19 door Ozzie PHP
Ik had het blijkbaar anders gelezen. :o
groet,
Frank
Gewijzigd op 07/10/2012 14:12:54 door Jaron T
Jaron, dit noemen we constants. Define is slechts de lelijke manier waarop we in PHP constanten moeten instellen.
Wouter J op 07/10/2012 14:33:05:
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// constants
E_ALL;
E_WARNING;
E_STRICT;
DIRECTORY_SEPARATOR;
// 'magic' constants
__FILE__;
__CLASS__;
// eigen constants
FOO;
BAR;
?>
// constants
E_ALL;
E_WARNING;
E_STRICT;
DIRECTORY_SEPARATOR;
// 'magic' constants
__FILE__;
__CLASS__;
// eigen constants
FOO;
BAR;
?>
Om de laatste 2 constants te maken, de rest zit al standaard in PHP, heb je de functie define nodig:
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):