baner kod php your_data
Porady i wskazówki

Plik konfiguracyjny – config.php

Artykuły

Plik konfiguracyjny - config.php

Autor: Daniel | Dodany: 9 Marca 2020

Plik konfiguracyjny sprawdza się dobrze przy dużych (wieloplikowych) aplikacjach. Dodaje on do naszego programu możliwość globalnej zmiany pewnych wartości kilkoma kliknięciami. Dzięki temu nie trzeba przeszukiwać każdego pliku z osobna w poszukiwaniu wartości, które musimy zmienić (np. dane dostępowe do bazy danych).

1. Główne zalety

Pierwszą i najważniejszą zaletą jest właśnie globalizacja danych. W dalszej części artykułu przedstawię kilka rozwiązań do jakich wykorzystałem to rozwiązanie.

Drugą i nie mniej ważną zaletą jest przejrzystość takiego pliku. Przy rozbudowanych skryptach, zawierających tony instrukcji do wykonania, czasem może być ciężko odnaleźć właściwą linię kodu, w której musimy coś zmienić. W przypadku pliku config.php nie znajdują się żadne funkcje. Tutaj zawieramy tylko i wyłącznie dane wykorzystywane w naszym programie.

Globalizacja oraz przejrzystość przekładają się na błyskawiczne zmiany w naszej aplikacji. W branży programistycznej często każda sekunda może być na wagę złota, dlatego opłaca się nam dbać o skracanie czasu wykonywania pewnych czynności.

Rozwiązanie to ma również jedną przewagę nad rozwiązaniem z plikiem config.ini przedstawionym w innym artykule. W pliku config.php możemy w prosty sposób korzystać z tablic. Jest to jednak całkowicie opcjonalne i zależy tylko od preferencji programisty.

2. Tworzenie pliku config.php

Na początku trzeba rozsądnie umieścić plik konfiguracyjny na serwerze. W celu zabezpieczenia go odsyłam do artykułu: Zabezpieczenie danych dostępowych.

Taki plik podczas edycji klasycznie rozpoczynamy i kończymy znacznikami <?php oraz ?>. Następnie rozpoczynamy instrukcją return [];. Wewnątrz nawiasów kwadratowych, będziemy wpisywali nasze zmienne z których będziemy potem korzystali. Mogą to być adresy IP, dostępy do bazy danych, wartość logiczna true / flase, która będzie określała czy nasz skrypt będzie włączony, czy też nie. Ja dla przykładu utworzę tablicę social_medias. Będzie ona zawierała linki do popularnych serwisów społecznościowych i w zależności czy zostały te wartości podane, tak będą wyświetlały się na stronie. A zatem mój plik config.php wygląda w ten sposób.

<?php

return [

‘social_medias’ => [

  • ‘facebook’ => ‘https://facebook.com’,
  • ‘youtube’ => ‘https://youtube.com’,
  • ‘instagram’ => ‘https://instagram.com’,
  • ‘twitter’ => ‘https://twitter.com’,
  • ‘linkedin’ => ‘https://linkedin.com’,
  • ‘pinterest’ => ‘https://pinterest.com’

]

];

3. Implementacja pliku konfiguracyjnego

Skoro mamy utworzony nasz plik, to przydałoby się zacząć z niego korzystać. Do tego posłuży nam funkcja include. W wybranym skrypcie tworzymy zmienną (o wybranej nazwie) i przypisujemy jej wynik na naszego pliku config.php.

$config = include ‘/ścieżka_do_pliku/config.php’;

Od tego momentu możemy korzystać ze zmiennych z pliku konfiguracyjnego w naszym skrypcie. W celu odwołania się do całej tablicy zawierającej wszystkie linki do portali społecznościowych wpisujemy $config[‘social_medias’], a w celu odwołania się do poszczególnych linków wpisujemy np. $config[‘social_medias’][‘facebook’].

3. Przykładowe wykorzystanie

Teraz możemy do naszej strony dodać system wyświetlający ikonki portali społecznościowych w zależności od podanych linków. Na początku będziemy potrzebować zadeklarować funkcję oraz pustą zmienną w niej. Funkcję nazwę getSocialMedias() i na jej początku zadeklaruję zmienną $result = “”;. Teraz przy użyciu funkcji if() oraz empty() będę sprawdzał czy link jest podany w konfiguracji i jeżeli nie jest to nie będzie się niepotrzebnie dodawała ikonka na stronie.

if(!empty($config[‘social_medias’][‘facebook’])) {
$result = $result.”<a href=”.$config[‘social_medias’][‘facebook’].” target=’_blank’><i class=’fab fa-facebook-square’></i></a>”;
}

Taką instrukcję powtarzamy dla każdego portalu społecznościowego jaki umieściliśmy w config.php. Na końcu naszej funkcji zwracamy wynik instrukcją return $result;

W mojej stronie umieściłem tekst “{{social_medias}}“. Przy użyciu funkcji str_replace() podmienię ten kawałek tekstu na nasze linki do portali społecznościowych, a dzięki funkcji echo, Font-Awesome oraz wcześniej napisanego pliku style.css pojawią się ikonki linkujące w wybrane miejsca. Wystarczy, że napiszę w moim skrypcie echo str_replace(‘{{social_medias}}’, getSocialMedias(), ‘page.html’); i dostanę stronę z linkami do portali. Przy braku pewnego linku w pliku config.html, ikonka się nie pojawi.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

pl_PLPolski