(Opgelost) Variabel uit config

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Machiel K

Machiel K

06/10/2012 16:26:46
Quote Anchor link
Hallo,

Ik ben geloof ik wel is tegengekomen dat in de config.php het volgende staat (voorbeeld!)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$sitenaam
= "Machiel";     // Jou websitenaam

?>


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
 
PHP hulp

PHP hulp

28/11/2021 02:52:56
 
Bo Ter Ham

Bo Ter Ham

06/10/2012 16:35:20
Quote Anchor link
dus in config.php heb je het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$sitenaam
= 'Machiel';
?>


en dan in een ander php bestand(bijv index.php) heb je:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
include('config.php');
echo $sitenaam;
?>


bedoel je dit?
 
Koen Hollander

Koen Hollander

06/10/2012 16:39:51
Quote Anchor link
Waarom dubbele quotes? Je gebruikt toch geen HTML.

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
 
Machiel K

Machiel K

06/10/2012 16:54:02
Quote Anchor link
Dankjewel Bo Ter Ham :)
 
Reshad F

Reshad F

06/10/2012 18:25:16
Quote Anchor link
@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.
 
Ozzie PHP

Ozzie PHP

06/10/2012 19:54:45
Quote Anchor link
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 J

Wouter J

06/10/2012 20:20:42
Quote Anchor link
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.
 
Ozzie PHP

Ozzie PHP

06/10/2012 23:58:13
Quote Anchor link
Wat bedoel je met "de parser van de speciale characters"?
 
Wouter J

Wouter J

07/10/2012 00:00:53
Quote Anchor link
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.
 
Ozzie PHP

Ozzie PHP

07/10/2012 00:03:30
Quote Anchor link
Ah, die speciale characters. Hmmm, ik meen toch ooit gelezen te hebben dat enkele quotes niet door de parser gaan. Is dat dan veranderd?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/10/2012 00:04:24
Quote Anchor link
Dit maakt wel verschil:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$test
= "Nou lekker dan";

echo "$test<br/>";
echo '$test<br/>';
?>


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.


Koen: jij bent nooit een beginner geweest?
 
Wouter J

Wouter J

07/10/2012 00:15:15
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$a
= 'Foo doesn\'t exists';
?>

En het wordt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Foo doesn't exists

Dan moet er toch iets door een parser zijn gegaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
                                             +---------------+

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
 
Ozzie PHP

Ozzie PHP

07/10/2012 00:55:26
Quote Anchor link
Aha, oké. Maar hoe kom je aan deze informatie?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/10/2012 01:07:45
Quote Anchor link
@ozzie en wouter,

hebben jullie mijn voorbeeld ook gezien?

variabelen tussen enkele quotes worden niet geparsed.

iig niet in mijn php 5.2
 
Wouter J

Wouter J

07/10/2012 08:55:30
Quote Anchor link
Frank, ja. Waar spreek ik dat tegen?

Ozzie, dit komt door deels logisch redeneren en deels door de broncode van PHP te snappen.
 
Ozzie PHP

Ozzie PHP

07/10/2012 09:35:26
Quote Anchor link
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

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
 
Frank Nietbelangrijk

Frank Nietbelangrijk

07/10/2012 10:52:01
Quote Anchor link
Wouter en Ozzie,

Ik had het blijkbaar anders gelezen. :o

groet,
Frank
 
Jaron T

Jaron T

07/10/2012 14:12:42
Quote Anchor link
ik zou met defines werken om dit te bereiken, is heel wat netter en kunnen niet (per ongeluk) overschreven worden.
Gewijzigd op 07/10/2012 14:12:54 door Jaron T
 
Wouter J

Wouter J

07/10/2012 14:33:05
Quote Anchor link
Jaron, dit noemen we constants. Define is slechts de lelijke manier waarop we in PHP constanten moeten instellen.
 
Jaron T

Jaron T

07/10/2012 16:16:28
Quote Anchor link
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.
 
Wouter J

Wouter J

07/10/2012 16:27:57
Quote Anchor link
Nogmaals, die dingen heten constants:
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
<?php
// 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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?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):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
string bar = 'foo';
int foo = 1;
const BAZ = 'hello world';
?>
 



Overzicht Reageren

 
 

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.