/ 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
Hvordan laves en side med template?
Fra : Stig Sørensen


Dato : 13-03-09 12:15

Hej gruppe.

Jeg prøver hele tiden at lære nyt inden for PHP, og har sat mig for at
kunne lave en PHP hjemmeside der holder PHP-delen og HTML-delen
særskilt.

Jeg har Googlet som gal, men har aldrig rigtig fundet en side der
kunne forklare det for mig, og ellers har Google spyttet nærmest
ligegyldige sider frem i hovedet på mig.

En venlig sjælp der kan forklare mig det i praksis? Eller har et link
til en god artikel?

Jeg kender intet til XML hvis det er påkrævet.

- Ja som du nok kan læse er jeg lidt på herrens mark lige hvad det her
angår. Så det ville være rart hvis du kunne hjælpe mig igang


Mvh
Stig Sørensen

 
 
Johan Holst Nielsen (13-03-2009)
Kommentar
Fra : Johan Holst Nielsen


Dato : 13-03-09 19:45

Stig Sørensen wrote:
> Hej gruppe.
>
> Jeg prøver hele tiden at lære nyt inden for PHP, og har sat mig for at
> kunne lave en PHP hjemmeside der holder PHP-delen og HTML-delen
> særskilt.
>
> Jeg har Googlet som gal, men har aldrig rigtig fundet en side der
> kunne forklare det for mig, og ellers har Google spyttet nærmest
> ligegyldige sider frem i hovedet på mig.
>
> En venlig sjælp der kan forklare mig det i praksis? Eller har et link
> til en god artikel?
>
> Jeg kender intet til XML hvis det er påkrævet.
>
> - Ja som du nok kan læse er jeg lidt på herrens mark lige hvad det her
> angår. Så det ville være rart hvis du kunne hjælpe mig igang

Læs eventuelt af de systemer der allerede findes :) En hurtig løsning
(før jeg smutter offline for i dag) kunne være CodeIgniters måde at gøre
det på. Prøv at downloade codeigniter og læs lidt her:

http://codeigniter.com/user_guide/libraries/parser.html

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Martin Larsen (16-03-2009)
Kommentar
Fra : Martin Larsen


Dato : 16-03-09 10:55

Johan Holst Nielsen wrote:

> Læs eventuelt af de systemer der allerede findes :) En hurtig løsning
> (før jeg smutter offline for i dag) kunne være CodeIgniters måde at gøre
> det på. Prøv at downloade codeigniter og læs lidt her:
>
> http://codeigniter.com/user_guide/libraries/parser.html

Det kan jeg tilslutte mig!

CodeIgniter er IMO rigtigt godt. Det er ikke så svært at lære, og de har
et kanon hjælpsomt forum.

Martin


Bertel Lund Hansen (14-03-2009)
Kommentar
Fra : Bertel Lund Hansen


Dato : 14-03-09 01:02

Stig Sørensen skrev:

> Jeg prøver hele tiden at lære nyt inden for PHP, og har sat mig for at
> kunne lave en PHP hjemmeside der holder PHP-delen og HTML-delen
> særskilt.

Det vil da være lidt omstændeligt, og hvis du virkelig udnytter
PHP's muligheder, er det plat umuligt idet noget af PHP's output
er HTML.

Hvad skulle formålet være med den øvelse?.

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

Philip Nunnegaard (14-03-2009)
Kommentar
Fra : Philip Nunnegaard


Dato : 14-03-09 02:13

Stig Sørensen skrev:

> Jeg prøver hele tiden at lære nyt inden for PHP, og har sat mig for at
> kunne lave en PHP hjemmeside der holder PHP-delen og HTML-delen
> særskilt.

Jeg er ikke helt sikker på hvad der menes med det, og som Bertel
antyder, er det i praksis umuligt at holde det helt adskilt.
Jeg er heller ikke sikker på at det jeg gør, er det der menes her, men
jeg plejer at have næsten al min php-kode øverst i filen (før <html> osv.)

Her definerer jeg alle de variabler der skal bruges længere nede på
siden, lige fra <title> til det der skal være i <body>-delen.

Så i stedet for en masse echo'er bliver det til noget med:

while($rs = mysql_fetch_array($res)) {
   (definition af diverse variabler på grundlag af
data fra tabellen i databasen)

$visning.=" <tr>\n";
$visning.=" <td>Tekst</td>\n";
$visning.=" <td>Mere tabelindhold</td>\n";
$visning.=" <tr>\n";
}
osv.

Så bliver det bare til dette i <body>:

<?php echo $visning; ?>

Er man rigtig elegant (og det er jeg ikke altid), har man selvfølgelig
det første stående i en include-fil.
Så kan "modulerne" slås fra ved blot at fjerne include-sætningen samt
den tilhørende echo-sætning nede i HTML'en.

Dejligt overskueligt, hvis man var disciplineret nok til at gøre det
gennemført.

--
Philip - http://chartbase.dk

Stig Sørensen (14-03-2009)
Kommentar
Fra : Stig Sørensen


Dato : 14-03-09 01:11

On Mar 14, 1:01 am, Bertel Lund Hansen <unosp...@lundhansen.dk> wrote:

> Det vil da være lidt omstændeligt, og hvis du virkelig udnytter
> PHP's muligheder, er det plat umuligt idet noget af PHP's output
> er HTML.


Som du nok også kunne se på mit indlæg, så ved jeg ikke selv så meget
omkring emnet.
Men jeg har bla. set: http://www.smarty.net/crashcourse.php - hvor der
er eksempler, og her er det mere eller mindre 99% adskilt.

> Hvad skulle formålet være med den øvelse?.


At én person koncentrerede sig om serverside delen, mange andre der
ikke havde forstand på serverside delen kunne så lave templates -
masser af designs efter behag.


Erik Ginnerskov (14-03-2009)
Kommentar
Fra : Erik Ginnerskov


Dato : 14-03-09 11:48

Stig Sørensen wrote:

> Som du nok også kunne se på mit indlæg, så ved jeg ikke selv så meget
> omkring emnet.
> Men jeg har bla. set: http://www.smarty.net/crashcourse.php - hvor der
> er eksempler, og her er det mere eller mindre 99% adskilt.

Det kommer helt an på, hvordan du definerer 'adslilt'. Serverside køres php
og giver en eller anden form for interaktivitet med brugeren. Men til
brugerens browser er det altid html, der sendes - browseren forstår ikke
andet.

Det vil med andre ord sige, at resultatet af php-kørslen på serveren skal
være html til browseren - hvis det da ikke lige går den anden vej, dvs. data
fra en formular skal behandles som mail eller Sql. Men efter mail- eller
Sql-operationen skal der nok alligevel være noget feedback til brugeren - i
html.

>> Hvad skulle formålet være med den øvelse?.

> At én person koncentrerede sig om serverside delen, mange andre der
> ikke havde forstand på serverside delen kunne så lave templates -
> masser af designs efter behag.

Det bliver vist svært, fordi det griber så meget ind i hinanden. Skal man
noget i den stil, skal nogen koncentrere sig om php og templates, mens andre
kigger på css i forhold til det html-output, der kommer.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://ginnerskov.dk
http://vestfynswebdesign.dk - http://html-faq.dk


Philip Nunnegaard (14-03-2009)
Kommentar
Fra : Philip Nunnegaard


Dato : 14-03-09 14:39

Stig Sørensen skrev:

> Men jeg har bla. set: http://www.smarty.net/crashcourse.php - hvor der
> er eksempler, og her er det mere eller mindre 99% adskilt.

Jeg har bogmærket linket og downloadet systemet, men derudover synes jeg
at det ser for langhåret ud til mig.
Måske får jeg mod på at lege med det senere, for selve konceptet finder
jeg spændende nok på samme måde som det i dag er en selvfølge at layout
(css) og opmærkning (html) holdes adskilt.

Jeg mindes også tråden for nylig i en anden gruppe om "unobtrusive
javascript" som vel baserer sig lidt på samme tankegang.

Umiddelbart ser det dog ud til at min metode ligger et stykke i samme
retning, uden at det dog helt er det, vi taler om her.

>> Hvad skulle formålet være med den øvelse?.
>
> At én person koncentrerede sig om serverside delen, mange andre der
> ikke havde forstand på serverside delen kunne så lave templates -
> masser af designs efter behag.

Det minder mig om da jeg stiftede bekendtskab med asp.NET for små 5 år
siden.
Argumentet var også her at man skulle kunne vedligeholde en hjemmeside
uden kendskab til programmering, og at programmering og webdesign skulle
kunne varetages af to forskellige personer der ikke nødvendigvis kendte
til hinandens arbejdsfunktioner.

Serversidekoden var pludselig mere langhåret end den traditionelle
asp/vbScript (hvadenten det var VB eller C#), og det læsestof som
fandtes på dansk, var i øvrigt baseret på at man havde Visual Studio.NET
som koster en bondegård.
10.000-15.000 kr. vil jeg ikke betale for et program, når jeg ved at man
bør kunne opnå samme resultat lige så nemt med en gratis teksteditor.

På daværende tidspunkt kunne man heller ikke downloade en gratisversion
af MS SQL, og MySQL var nærmest ikke-eksisterende i deres tankegang.

Resultatet var at jeg hurtigt opgav at lære det og begyndte i stedet at
lege lidt med php som siden er blevet mit foretrukne serversidesprog.

Men mine præferencer er så også at jeg primært laver små ukommercielle
hjemmesider, hvor det er mig selv der står for det hele lige fra
html/css til php, så for mig sker adskillelsen kun for min egen
overskueligheds skyld og ikke for at have 2-3 forskellige personer til
at kunne arbejde med det uden nødvendigvis at forstå hinandens kode.

Så tilbage for mig er forskellen på om jeg skal skrive:
    Adresse: ($adresse)
eller
    Adresse: <?php echo $adresse; ?>


--
Philip - http://chartbase.dk

Dan Storm (14-03-2009)
Kommentar
Fra : Dan Storm


Dato : 14-03-09 11:26

Stig Sørensen skrev:
> Jeg prøver hele tiden at lære nyt inden for PHP, og har sat mig for at
> kunne lave en PHP hjemmeside der holder PHP-delen og HTML-delen
> særskilt.

Idéen er da meget god, men...
>
> Jeg har Googlet som gal, men har aldrig rigtig fundet en side der
> kunne forklare det for mig, og ellers har Google spyttet nærmest
> ligegyldige sider frem i hovedet på mig.

.... som du nok kan se, så er det ikke noget der muligt at fuldføre helt,
hvilket bør kunne anes på dine resultater på google.

> - Ja som du nok kan læse er jeg lidt på herrens mark lige hvad det her
> angår. Så det ville være rart hvis du kunne hjælpe mig igang

Det nemmeste ville være at glemme det for en tid, og så begynde at
studere design patterns og til sidst have MVC mønstret for øje.

I sidste ende er det også en smagssag. Personligt mener jeg det er
vigtigere at adskille abstraktionslagene fra hinanden end PHP og HTML.

Eksempel - editUser.php:

<?php

include("cCore.php");

$user = factory::getObject("User");

$userInfo = $user->getUsersDetails($_GET["userId"]);

if(isset($_POST["full_name"]))
{
$res = $user->saveUsersDetails($_POST["full_name"], ...);

if($res !== false)
{
header("Location: userSaved.php");
exit;
}

$error = $user->getValidationError();
}



include("html_header.php");
?>
<h1>Rediger bruger</h1>

<?php if(isset($error)): ?>
<div class="error">
   <?php echo $error; ?>
</div>
<?php endif; ?>


<form method="post" action="">

<div class="tableLike">

<div class="row">
<div class="rowLabel">
Fulde navn:
</div>
<div class="rowInput">
<input type="text" name="full_name" value="<?php echo
$userInfo["full_name"]; ?>" />
</div>
</div>

<! -- Og så gentage dem indtil du har de felter du vil have -->

</div>

</form>

<?php
include("html_footer.php");
?>

Ovenstående er den stil jeg kører i øjeblikket - nogle kan lide det,
andre kan ikke.

Det vigtigste er at du finder ud af hvordan du kan lide at holde tingene
adskilt når du har fundet ud hvordan du vil designe din kode.

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Benny Andersen (14-03-2009)
Kommentar
Fra : Benny Andersen


Dato : 14-03-09 06:04

On 13 Mar., 19:15, Stig Sørensen <stig.soren...@gmail.com> wrote:

> En venlig sjælp der kan forklare mig det i praksis? Eller har et link
> til en god artikel?
Måske er der ikke et venligt svar ;) - php hører til de letteste sprog
- sådan syntaksmæssigt. Er nærmest det, det er, på grund dokumentation
i alle pædagogiske afskygninger på nettet.

Sidestilling med HTML - at udtrykke at man skiver en webside "I" php -
kan antyde problemmet for begynderen. Uden kendskab til http, GET,
POST, og webserver funktionalitet er PHP og andre serverside ting
sort snak.

> Jeg kender intet til XML hvis det er påkrævet.
Kræves heller ikke - det er blot noget som PHP også kan bruges til.

--
Benny

Stig Sørensen (14-03-2009)
Kommentar
Fra : Stig Sørensen


Dato : 14-03-09 07:18

On Mar 14, 1:04 pm, Benny Andersen <a.mail.u...@gmail.com> wrote:

> Sidestilling med HTML - at udtrykke at man skiver en webside "I" php -
> kan antyde problemmet for begynderen. Uden kendskab til http, GET,
> POST,  og webserver funktionalitet er PHP og andre serverside ting
> sort snak.

Nu er det ikke fordi jeg ikke kender til PHP. Jeg kan og har skam
skrevet en velfungerende gæstebog i PHP og mange andre ting for hele
tiden at blive bedre.
Bla. også http://www.makeitwork.dk - som dog godt kunne blive
renoveret en smule i koden - men det kan i jo heldigvis ikke se ;oP


Jeg tror Dan har ramt rigtigt. Jeg er nok bare mest forvirret over at
jeg ikke rigtig har fundet "min stil" endnu, og det er bare dét der
frustrerer mig lidt.
Jeg laver hele tiden mine abstrakstionslag om osv, fordi så læser jeg
den ene artikel og bliver inspireret af den osv.


Tak for de venlige svar i hvertfald

N/A (14-03-2009)
Kommentar
Fra : N/A


Dato : 14-03-09 14:39



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste