PHPDevs

Projekt obiektowy z Composerem i Twigiem? Czytaj!

Tablice, stringi, pliki - kolejny projekt > Lekcja 3

Dołączanie plików

Mamy już małe 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 require. 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:

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łowach/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 ż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.

index.php<?php

require_once 'functions.php';
// ...
functions.php<?php

// functions
Poprzednia lekcja Następna lekcja

Udostępnij

  • Facebook
  • Twitter
  • Google+

Komentarze