Vinnaren i pepparkakshustävlingen!
2022-07-02, 07:51
  #1
Avstängd
53280s avatar
Vilken är snyggaste att blanda HTML och PHP kod?

Lägga html koden i html filer som gör med include?

Blanda htm och php kod som exempel nedan?

Kod:
<?php

function TableHead() { ?>
<DIV CLASS="container mt-3">
<TABLE CLASS="table table-borderless">
    <THEAD>
        <TR>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
    </TR>
</THEAD>
<?php
} // End Func

?>
Citera
2022-07-02, 10:38
  #2
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av 53280
Vilken är snyggaste att blanda HTML och PHP kod?

Lägga html koden i html filer som gör med include?

Blanda htm och php kod som exempel nedan?

Kod:
<?php

function TableHead() { ?>
<DIV CLASS="container mt-3">
<TABLE CLASS="table table-borderless">
    <THEAD>
        <TR>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
    </TR>
</THEAD>
<?php
} // End Func

?>
PHP började ursprungligen som ett template-språk och då använde man det på det ungefär på det sätt du gör ovan. (Egentligen mer att man skrev en HTML-fil och sprängde in PHP-snuttar där output behövde vara dynamiskt). Det är en styrka hos PHP att man kan göra så (enkelt för nybörjare, bra för quick/dirty snabbjobb), men också en svaghet eftersom det lätt renderar oläslig (och svåruppdaterbar) kod.

Därför anses det nu allmänt bättre att separera HTML-koden från funktionaliteten i PHP. På så sätt kan man ju också byta språk eller. ramverk.

Titta t.ex. på denna lilla template engine, där man kan separera HTML-templates från PHP-koden, mycket användbart, går även att användas till Word- och Excel-filer vilket är extremt användbart i vissa ändamål:
https://www.tinybutstrong.com/

Kolla även:
https://www.dunebook.com/best-php-template-engine/
Citera
2022-07-08, 10:55
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av 53280
Vilken är snyggaste att blanda HTML och PHP kod?

Lägga html koden i html filer som gör med include?

Blanda htm och php kod som exempel nedan?

Kod:
<?php

function TableHead() { ?>
<DIV CLASS="container mt-3">
<TABLE CLASS="table table-borderless">
    <THEAD>
        <TR>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
            <TH>Xyz</TH>
    </TR>
</THEAD>
<?php
} // End Func

?>
Smarty har ju funnits sen urminnes tider för att separera html och php:
https://www.smarty.net/why_use

I och med att utvecklare insett de begränsningar som endast en templatemotor ger har man ju börjat ta fram VMC-ramverk som i vissa fall (läs laravel) gör betydligt mer än bara separera kod. Är det så att du behöver göra slagningar mt en databas etc, sköta inloggningar och lite annat kan ju ett av dessa ramverk vara nice att ta till eftersom de sköter all heavy lifting åt dig, med sessionskontroller och allt vad det må vara.

Laravel är väl det mer utbredda ramverket, men jag har fått för mig att codeigniter är ett aningen mer lightweight-ramverk i sammanhanget?

https://laravel.com/

https://www.codeigniter.com/
Citera
2022-07-15, 14:29
  #4
Medlem
SKetchers avatar
Min favorit är en rätt dold templating variant i PHP.
I XML-stringar går det att interpolatea variablar direkt och editors stödjer detta med färgsyntax direkt out-of-the-box.

Kod:
<section class="">
    <?php
        $message 
"hello world";
        
        echo <<<XML
            <span>$message</span>
        XML;
    ?>
</section>

Tom flashbacks syntax markerar $message som blått(?)
Citera
2022-07-18, 19:10
  #5
Medlem
Citat:
Ursprungligen postat av SKetcher
Kod:
<?php
        $message 
"hello world";
        
        echo <<<XML
            <span>$message</span>
        XML;
    ?>
Det där kallas för heredoc och kan läsas om här. XML är f.ö inte ett krav, man behöver inleda strängen och avsluta den med samma, bara:
Kod:
<?php
    $message 
"hello world";
    
    echo <<<KNOLLBURK
        <span>$message</span>
    KNOLLBURK;
?>
Citera
2022-07-18, 21:11
  #6
Medlem
SKetchers avatar
Citat:
Ursprungligen postat av Koenigsegg
Det där kallas för heredoc och kan läsas om här. XML är f.ö inte ett krav, man behöver inleda strängen och avsluta den med samma, bara:
Kod:
<?php
    $message 
"hello world";
    
    echo <<<KNOLLBURK
        <span>$message</span>
    KNOLLBURK;
?>

Jepp. Jag vet att strängen inte behöver vara html, visste inte att identifiern kunde vara vad som helst.

Men då lärde jag mig något nytt. Intressant hur allting kommer från Unix från början.
Citera
2022-09-09, 22:51
  #7
Medlem
Retropropagations avatar
Citat:
Ursprungligen postat av 53280
Vilken är snyggaste att blanda HTML och PHP kod?

Lägga html koden i html filer som gör med include?

Blanda htm och php kod som exempel nedan?
?>[/code]

Mitt tips är att använda enklast tänkbara MVC:

https://www.youtube.com/watch?v=VcdnOAFJ92w

Citat:
PHP Forms - MVC (Part 5)

Kursens webbplats:

https://www.wa4e.com/lessons/php-forms
Citera
2022-09-10, 01:55
  #8
Medlem
0xgh64s avatar
Citat:
Ursprungligen postat av SKetcher
Min favorit är en rätt dold templating variant i PHP.
I XML-stringar går det att interpolatea variablar direkt och editors stödjer detta med färgsyntax direkt out-of-the-box.

Kod:
<section class="">
    <?php
        $message 
"hello world";
        
        echo <<<XML
            <span>$message</span>
        XML;
    ?>
</section>

Tom flashbacks syntax markerar $message som blått(?)
JSON är dock mycket säkrare alternativ en XML, på grund av XXE injection.
Citera
2022-09-10, 04:38
  #9
Medlem
SKetchers avatar
Citat:
Ursprungligen postat av 0xgh64
JSON är dock mycket säkrare alternativ en XML, på grund av XXE injection.
Inlägget handlar inte om XML.
Citera
2022-09-10, 06:40
  #10
Medlem
0xgh64s avatar
Citat:
Ursprungligen postat av SKetcher
Inlägget handlar inte om XML.
My bad
__________________
Senast redigerad av 0xgh64 2022-09-10 kl. 07:02.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback