Tablice, stringi, pliki - kolejny projekt > Lekcja 3
Dołączanie plików
Ostatnia modyfikacja: 01.06.2021
Mamy już bardzo proste sterowanie naszą aplikacją, możemy więc zabrać się teraz za zaprogramowanie jej działania. Aby kod był czytelniejszy (i abyśmy więcej rzeczy przećwiczyli) proponuję, abyśmy wykonali sobie to na funkcjach.
W związku z tym plik zawierający nasz kod będzie robił się coraz dłuższy. Nie wydaje się to wygodne, coraz ciężej będzie nam się w nim odnaleźć. Co z tym zrobimy? Możemy dołączać do aktualnie wykonywanego inne pliki. Działa to w praktyce tak, że zawartość dołączonego pliku jest jakby wklejana do głównego.
Samo dołączenie możemy wykonać w sumie na cztery różne (lecz bardzo podobne) sposoby. Mamy konstrukcje include
i required
. Samo dołączenie działa tak samo, a różnica jest w działaniu w przypadku braku wskazanego pliku. include
wygeneruje tylko ostrzeżenie, a nasz kod wykona się dalej. Z kolei require
wyrzuci od razu fatal error i skrypt zostanie błyskawicznie przerwany.
Dodatkowo każdy z zapisów możemy wywołać z dopiskiem _once
: include_once
lub require_once
. Działanie jest dokładnie takie samo jak wcześniej, dopisek once oznacza tyle, że plik o danej nazwie może zostać dołączony tylko raz.
Podsumowując, mamy 4 możliwości:
-
include
-
include_once
-
require
-
require_once
Czego używać? Nie da się jednoznacznie tego określić, zależy od sytuacji. Osobiście najczęściej zdarza mi się używać require
, gdyż skoro dołączam jakiś plik, to jest mi on niezbędny i bez niego skrypt powinien się przerwać. Na przykład, jeśli będę miał w nim wszystkie funkcje do wykonywania operacji na mojej liście zadań i nagle tego pliku zabraknie, to nie ma sensu, aby aplikacja działała, bo i tak nic nie zrobi.
Aby dołączyć plik, wystarczy po prostu podać w cudzysłowie/apostrofach jego nazwę (lub ścieżkę, jeśli potrzeba).
<?php
require_once 'file.php';
Spotykany jest też zapis z ( )
, na przykład require_once('file.php');
, ale odchodzi się od niego, podobnie jak w przypadku echo
i innych konstrukcji języka.
Także to tyle - dzielenie na pliki jest dobrą praktyką, ale już niedługo taki nawyk wyjdzie automatycznie. Przy programowaniu obiektowym po prostu standardem jest umieszczanie jednej klasy (jeśli nie wiesz, co to jest, to w tym momencie żaden problem) w jednym pliku i nie trzeba nawet zastanawiać się ile plików stworzyć.
Wracając do naszego projektu: utwórzmy sobie plik functions.php
(będziemy w nim pisali funkcje obsługujące poszczególne zadania) i dołączmy go na początku pliku index.php
, aby później w dowolnym momencie można było użyć tychże funkcji. Użyłem require_once
, gdyż plik ten jest nam konieczny i nie będzie więcej dołączany, ale w praktyce każdy sposób dołączenia będzie działał tutaj tak samo.
<?php // index.php
require_once 'functions.php';
// ...
<?php // functions.php
// functions
Komentarze