TemplateFeature
Dokumentacja jest stale rozwijana i aktualizowana wraz z postępem projektu. Ponieważ powstaje ona równolegle z kodem, niektóre sekcje mogą tymczasowo odnosić się do wcześniejszych wersji systemu - są one sukcesywnie dostosowywane do bieżącego stanu aplikacji. Jeśli zauważysz nieaktualne informacje, zgłoś to lub załóż Issue / Pull Request.
Dokumentacja
# TemplateFeature
Klasa TemplateFeature udostępnia zestaw metod pomocniczych, z których można korzystać bezpośrednio w szablonach .phtml. Jej głównym celem jest uproszczenie pracy z widokami i umożliwienie stosowania gotowych funkcji – takich jak generowanie ścieżek, zasobów, danych meta czy formularzy.
Lokalizacja: application/Classes/TemplateFeature.php.
Można ją dowolnie rozbudowywać o własne metody, które będą dostępne automatycznie w szablonach jako $this.
# Dostęp do metod
Wszystkie metody TemplateFeature są dostępne w szablonach poprzez $this.
Przykładowe użycie:
{{ $this->path('home') }}
# Lista metod
# Metoda path()
path(string $name, array $params = []): string
Zwraca ścieżkę URL przypisaną do trasy o nazwie $name, opcjonalnie z dynamicznymi parametrami. {{ $this->path('start') }}
# Metoda asset()
asset(string $path): string
Zwraca ścieżkę do zasobu (np. CSS, JS) względem katalogu publicznego.
<link rel="stylesheet" href="{{ $this->asset('css/style.css') }}">
# Metoda trans()
trans(string $key): string
Zwraca tłumaczenie dla danego klucza, jeśli ustawiona została obsługa języków (APP_LANGUAGES w .env).
{{ $this->trans('site.title') }}
# Metoda meta()
meta(string $key): string
Zwraca dane meta (np. title, description, keywords) ustawione w kontrolerze lub serwisie.
# Metoda truncate()
truncate(string $text, int $limit = 120): string
Skraca tekst do podanej liczby znaków i dodaje ... jeśli przekracza limit.
# metoda counterVisits()
counterVisits(): int
Zwraca liczbę odsłon strony (na podstawie prostej mechaniki licznika).
# Metoda constConfig()
constConfig(string $constName): mixed
Zwraca wartość stałej konfiguracyjnej zdefiniowanej w src/Config/ConstantConfig.php.
# Metoda linkCanonical()
linkCanonical(): string
Zwraca pełny adres URL do aktualnej podstrony - przydatny dla SEO w tagu:
<link href="{{ $this->linkCanonical() }}" rel="canonical">
# Metoda isActive() i pomocnicza extractParameter()
isActive(string $name): bool
Sprawdza, czy aktualnie wyświetlana trasa ma nazwę $name i dodaje klasę.
<a href="#" class="{{ $this->isActive('index') }}">Link</a>
or with options
<a href="#" class="{{ $this->isActive('index', 'active', '') }}">Link</a>
extractParameter(string $source, string $key): string
Wydobywa wartość danego parametru GET lub z łańcucha tekstowego.
{% $parameter = $this->extractParameter(); %}
{% ($parameter == $blogData->aid) ? $isActiveArticle = $this->isActive('blog_article') : $isActiveArticle = ''; %}
<a href="#" class="{{ $isActiveArticle }}">Link</a>
# Metoda replaceContent()
replaceContent(string $content): string
Podmienia znaczniki $searchReplace w treści na przekazane dane z formatowaniem URL'a.
# Metoda isPath()
isPath(string $routeName): bool
Sprawdza, czy aktualna ścieżka pasuje do podanej nazwy trasy.
# Metoda htmlCreateSelect()
htmlCreateSelect(string $name, array $options, string $selected = ''): string
Generuje tag select z opcjami.
{{ $this->htmlCreateSelect('category', ['1' => 'News', '2' => 'Blog'], '2') }}
# Metoda htmlLanguage()
htmlLanguage(): string
Generuje przełącznik języków i tłumaczeń
{{ $this->htmlLanguage() }}
# Podsumowanie
TemplateFeature to centrum narzędzi pomocniczych dla warstwy widoków. Zapewnia porządek w szablonach i pozwala zachować logikę poza HTML-em.