PHPackages                             pyrobyteweb/meta-templates - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. pyrobyteweb/meta-templates

ActiveLibrary[Templating &amp; Views](/categories/templating)

pyrobyteweb/meta-templates
==========================

00PHP

Since Jan 11Pushed 4y ago1 watchersCompare

[ Source](https://github.com/PyrobyteWeb/meta-templates-laravel)[ Packagist](https://packagist.org/packages/pyrobyteweb/meta-templates)[ RSS](/packages/pyrobyteweb-meta-templates/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Meta Templates Laravel
======================

[](#meta-templates-laravel)

Laravel 8+
PHP 7.4+

Установка
---------

[](#установка)

1. В файле app.php, в секцию packages добавить: `\PyrobyteWeb\MetaTemplates\MetaTemplatesServiceProvider::class`
2. `php artisan vendor:publish --provider="PyrobyteWeb\MetaTemplates\MetaTemplatesServiceProvider"`
3. Добавить мидлвару в Http/Kernel.php `MetaTemplateMiddleware::class`

Принцип работы
--------------

[](#принцип-работы)

Есть общие плейсхолдеры, которые Вы можете добавлять сами. Есть плейсхолдеры, которые используются для конкретной страницы, которые ориентируются на наименование роутинга. Все плейсхолдеры называем через #. Например, `#year#`.

Использованание
---------------

[](#использованание)

### Добавление нового меташаблона для всего роута

[](#добавление-нового-меташаблона-для-всего-роута)

Для добавления нового типа меташаблона необходимо запустить команду `php artisan meta-template:add name_meta_template`. Будет создана миграция для добавления меташаблона в базу и создан файл в директории app/MetaTemplates.

### Добавления новых плейсхолдеров

[](#добавления-новых-плейсхолдеров)

Запускаем команду `php artisan meta-template:placeholders PlaceHolderClassName`

Пример использования
--------------------

[](#пример-использования)

### Создания для своего роута

[](#создания-для-своего-роута)

Создадим меташаблон для тестовой страницы.

1. Запустим команду для создания меташаблона в БД `php artisan meta-template:add meta_template_for_testing_page`.
    У нас появится миграция и будет создан файл для описания меташаблона.
2. Опишим миграцию для создания меташаблона в БД. В примере будет описано только св-во, в которое следует добавлять

```
private $metaTemplates = [
    [
        'name' => 'test page',
        'route_name' => 'test-route-another',
        'active' => 1,
        'meta_title' => 'test title - #year# #custom_placeholder#',
        'meta_keywords' => 'test - #moth#',
        'meta_description' => 'test - #time#',
    ],
];

```

3. Опишим наш `#custom_placeholder#` в созданном классе, что именно будем там выводить. Например,

```
public function getPlaceholders(): array
{
    return [
        'custom_placeholder' => 'мой кастомный плейсхолдер',
    ];
}

```

4. Перейдем на тестовую страницу и вызовем наш меташаблон `app('meta)->getTitle()` и будет выведено следущее `test title - 2022 мой кастомный плейсхолдер`.

### Создание плейсхолдеров(общих)

[](#создание-плейсхолдеровобщих)

1. Запустим команду для создания меташаблона в БД `php artisan meta-template:placeholders CommonMetaTemplate`.
    У нас появится файл для описания меташаблона.
2. Опишим наш `#common_placeholder#` в созданном классе, что именно будем там выводить. Например,

```
public function getPlaceholders(): array
{
    return [
        'common_placeholder' => 'мой кастомный плейсхолдер',
    ];
}

```

3. Добавим наш класс `CommonMetaTemplate::class` в конфиг файл `config/meta-templates.php` в секцию `commod`.
4. Теперь мы можем использовать наш плейсхолдер в любом меташаблоне и не описывать его каждый раз под конкретную страницу.

###  Health Score

14

—

LowBetter than 2% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity27

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/52f8ff69df767d9981fc8955cc137beb3338deb4554691faad7202f9c28bdc74?d=identicon)[Pyrobyte](/maintainers/Pyrobyte)

---

Top Contributors

[![pyrorolf](https://avatars.githubusercontent.com/u/83811862?v=4)](https://github.com/pyrorolf "pyrorolf (1 commits)")

### Embed Badge

![Health badge](/badges/pyrobyteweb-meta-templates/health.svg)

```
[![Health](https://phpackages.com/badges/pyrobyteweb-meta-templates/health.svg)](https://phpackages.com/packages/pyrobyteweb-meta-templates)
```

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M291](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[symfony/ux-icons

Renders local and remote SVG icons in your Twig templates.

545.8M69](/packages/symfony-ux-icons)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
