Datakurser
Aktuell vecka: 48

Tillbaka till toppen

PHP Include - Require

Skillnader

Skillnaden mellan include och require är att require genererar ett "Fatal error" (hela körningen kraschar) om den inte hittas. Medans om vi använder include genererar programmet en varning, men rullar allt vidare utan den ej hittade filen.

Include_once (require_once) ser till att samma fil inte kan läsas in igen. Om vi försöker läsa in den igen så hoppas den raden över. Detta är bra bland annat då vi lägger funktioner/klasser i en separat fil. För programmet kraschar om vi försöker deklarera funktioner och klasser två gånger.

Ett exempel

<?php
//banan.php
      $color = 'gul';
      $fruit = 'banan';
?>
<?php
//hemligt.php
      $superHemligtPassword = 'SesamOpenTheDoor';
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Demo</title>
</head> <body>
<?php
      include_once 'banan.php';
      echo "Min frukt: $color $fruit <br><br>";

      require_once 'hemligt.php';
      echo "Nödvändigt för att fortsätta: $superHemligtPassword";
?>
</body>
</html>
Min frukt: gul banan

Nödvändigt för att fortsätta: SesamOpenTheDoor

Ett exempel till

<?php
//banan.php
      echo "Gul Banan";
?>
<?php
//hemligt.php
      echo 'SesamOpenTheDoor';
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Demo</title>
</head> <body>
<?php

      include 'banan.php';
      include 'banan.php';
      require 'hemligt.php';
      require 'hemligt.php';

      echo "<hr />";

      include_once 'banan.php';
      include_once 'banan.php';
      require_once 'hemligt.php';
      require_once 'hemligt.php';
?>
</body>
</html>

Gul BananGul BananSesamOpenTheDoorSesamOpenTheDoor

Källor, referenser, bra länkar

php.net
w3schools.com/php/
Läroboken

Filmer



Utvecklingsmiljöer

Labbservern

PHP 7.2, MariaDB 5.5 och Apache 2.4.6

Laragon

Apache 2.4, MySQL 5.7, PHP 7.4

Lösningsförslag

Alrik's