/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
include i while-switch-løkke
Fra : Leif Neland


Dato : 15-06-04 02:08

Jeg har noget php, der bruges på flere sites.
Jeg har en while () {switch $op - konstruktion, der behandler nogle data.
Jeg vil gerne have standard i en fil. og specielle ting i en anden.
Jeg har prøvet

while (..) {
switch ($op)
case "std1":
...
break
case "std2":
...
break
@include "custom_functions.php";
default:
....
break;
}

custom_functions.php:
<?
case "custom1":
...
break;
?>
Men case "custom1" bliver aldrig ramt.
Det ser ud til at include bliver lavet ved run-time, kan man på nogen måde
inkludere filer ved compile-time?
Eller en anden smart metode til at opnå, hvad jeg vil: Hvis der er rettelser
til standard-delen, kan den blot kopieres til alle sites uden at påvirke de
specielle ting, der kun gælder for dette site.

Leif



 
 
Michael Christensen (15-06-2004)
Kommentar
Fra : Michael Christensen


Dato : 15-06-04 08:15

"Leif Neland" <leifn@neland.dk> wrote in message
news:40ce4bd9$0$152$edfadb0f@dread11.news.tele.dk...
> ...
> Eller en anden smart metode til at opnå, hvad jeg vil: Hvis der er
rettelser
> til standard-delen, kan den blot kopieres til alle sites uden at påvirke
de
> specielle ting, der kun gælder for dette site.

Du kunne jo lave en funktion i din include fil, og så sørge for kun at
inkludere denne een gang. Dermed har du efterfølgende funktionen tilgængelig
"hele tiden".

Din funktion kan så tage en parameter som er den værdi du gerne vil switche
videre på:

Delen fra din hovedfil ser nu sådanne ud:


include "custom_functions.php";
while (..)
{
switch ($op)
case "std1":
...
break
case "std2":
...
break;
default:
handleSpecialCodes($op);
break;
}


og her er så din "custom_functions.php":

<?php
if(!isset($inc_custom_functions_php)){ $$inc_custom_functions_php = true;
//--------------------------------------------------------------------------
--

function handleSpecialCodes($op)
{
switch($op)
case "std3":
...
break;
case "std4":
...
break;
.
.
.
default:
...
break;
}

//--------------------------------------------------------------------------
--
// $inc_custom_functions_php
?>


mvh
Michael F. S. Christensen



Per Thomsen (16-06-2004)
Kommentar
Fra : Per Thomsen


Dato : 16-06-04 08:21

Michael Christensen wrote:
> "Leif Neland" <leifn@neland.dk> wrote in message
> news:40ce4bd9$0$152$edfadb0f@dread11.news.tele.dk...
>
[klip]
>
> Delen fra din hovedfil ser nu sådanne ud:
>
>
> include "custom_functions.php";
[klip]
>
> og her er så din "custom_functions.php":
>
> <?php
> if(!isset($inc_custom_functions_php)){ $$inc_custom_functions_php = true;
> //--------------------------------------------------------------------------
[klip]
Der er vist et $ for meget, men det var slet ikke det jeg ville sige.

Selv om der i bund og grund ikke er noget i vejen med ovenstående
metodik, synes jeg alligevel at jeg vil drage opmærksomheden hen på
'include_once' hhv. 'require_once'.

   http://dk.php.net/include_once
   http://dk.php.net/require_once

MVH Per Thomsen,
http://www.pert.dk/

Benny Dyhr Thomsen (16-06-2004)
Kommentar
Fra : Benny Dyhr Thomsen


Dato : 16-06-04 00:06

Hej Leif


Leif Neland wrote:
> Det ser ud til at include bliver lavet ved run-time, kan man på nogen måde
> inkludere filer ved compile-time?

Ja, prøv med require("custom_functions.php");


--
Venlig hilsen
Benny Dyhr Thomsen
http://our-site.dk

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste