PHPackages                             rinvex/laravel-pages - 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. [Caching](/categories/caching)
4. /
5. rinvex/laravel-pages

AbandonedArchivedLibrary[Caching](/categories/caching)

rinvex/laravel-pages
====================

Rinvex Pages is an integral part for your Laravel content management system (CMS), it affords an easy, yet powerful way to create and manage pages with full control over their URLs, active status, titles, content, and other attributes.

v7.1.3(2y ago)384.0k92MITPHPPHP ^8.1.0

Since Feb 18Pushed 2y ago3 watchersCompare

[ Source](https://github.com/rinvex/laravel-pages)[ Packagist](https://packagist.org/packages/rinvex/laravel-pages)[ Docs](https://rinvex.com)[ RSS](/packages/rinvex-laravel-pages/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (12)Versions (41)Used By (2)

Rinvex Pages
============

[](#rinvex-pages)

**Rinvex Pages** is an integral part for your Laravel content management system (CMS), it affords an easy, yet powerful way to create and manage pages with full control over their URLs, active status, titles, content, and other attributes.

[![Packagist](https://camo.githubusercontent.com/612076c7872f814c0745d32deb0ac11b3641b1d3feeb62cea3b727e0d1706f95/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f72696e7665782f6c61726176656c2d70616765732e7376673f6c6162656c3d5061636b6167697374267374796c653d666c61742d737175617265)](https://packagist.org/packages/rinvex/laravel-pages)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/50275c9b2905190c1fe37e386b80e0153592951ccfd2528fe056832a0fa50888/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f72696e7665782f6c61726176656c2d70616765732e7376673f6c6162656c3d5363727574696e697a6572267374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/rinvex/laravel-pages/)[![Travis](https://camo.githubusercontent.com/49dfe63ce77a7b96a51430107ed47ce879e91ad561006d37b91bb2b06fdf4463/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f72696e7665782f6c61726176656c2d70616765732e7376673f6c6162656c3d5472617669734349267374796c653d666c61742d737175617265)](https://travis-ci.org/rinvex/laravel-pages)[![StyleCI](https://camo.githubusercontent.com/97889d07e41cfe46fe47140d7f36da47a9e529e745ed485d16659f0df15e7d7a/68747470733a2f2f7374796c6563692e696f2f7265706f732f39383935333438362f736869656c64)](https://styleci.io/repos/98953486)[![License](https://camo.githubusercontent.com/653a1fedd11dde872d120db23e6fb7b06547e0c6f7c6698810573fec74bc2a7a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f72696e7665782f6c61726176656c2d70616765732e7376673f6c6162656c3d4c6963656e7365267374796c653d666c61742d737175617265)](https://github.com/rinvex/laravel-pages/blob/develop/LICENSE)

Installation
------------

[](#installation)

1. Install the package via composer:

    ```
    composer require rinvex/laravel-pages
    ```
2. Publish resources (migrations and config files):

    ```
    php artisan rinvex:publish:pages
    ```
3. Execute migrations via the following command:

    ```
    php artisan rinvex:migrate:pages
    ```
4. Done!

Usage
-----

[](#usage)

### Create Your Page

[](#create-your-page)

To get started, you simply create a new page as follows:

```
$page = app('rinvex.pages.page')->create([
    'uri' => 'test',
    'slug' => 'test-page',
    'route' => 'frontend.pages.test',
    'title' => 'Test Page',
    'view' => 'test-page',
]);

// Deactivate the page
$page->deactivate();

// Activate the page
$page->activate();

// Get all pages
$pages = app('rinvex.pages.page')->all();

// Get active pages
$pages = app('rinvex.pages.page')->where('is_active', true)->get();
```

> **Notes:**
>
> - All active pages are registered automatically into your application router with page's attributes, so the example page we created above could be accessed via the URL `http://your-project/test`, and you can generate page's URL using the named route `route('frontend.pages.test')` as you may expect. The result of accessing that page is the content of the page's rendered view.
> - **Rinvex Pages** auto register routes for your active pages, but you can disable routes auto registration in case you need more flexibility writing your own routes and maybe linking to your custom controllers, and that could be done from the config file `config/rinvex.pages.php` if you already published it in the installation step.
> - **Rinvex Pages** expects you to create your own views before setting in page records, and that view could be anywhere and contain anything. It's important to know that all page views have access to the `$page` instance variable by default, so you can access any of the page's attributes.

### ADVANCED: Attach Resources to Page

[](#advanced-attach-resources-to-page)

Sometimes you need to attach other resources to a specific page, to display later as "Related Content" for example, the presentation layer is left to you to implement, but the following is how to attach these resources programmatically.

To attach other resources to any page, follow these two steps:

1. Use `\Rinvex\Pages\Traits\Pageable` trait in your resources you need to attach.
2. Register your resource as a `pageable`, and add mutator setter/getter support for in your resource in the page's model. This is done in service provider `boot` method. See the following example of `Article` resource we're attaching to the page:

```
use App\Models\Article;
use Illuminate\Database\Eloquent\Relations\MorphToMany;

app('rinvex.pages.pageables')->put('article', Article::class);

app('rinvex.pages.page')->macro('setArticlesAttribute', function ($articles) {
    static::saved(function (self $model) use ($articles) {
        $model->entries(Article::class)->sync($articles, true);
    });
});

app('rinvex.pages.page')->resolveRelationUsing('articles', function ($pageModel): MorphToMany {
    return $pageModel->entries(Article::class);
});
```

Changelog
---------

[](#changelog)

Refer to the [Changelog](CHANGELOG.md) for a full history of the project.

Support
-------

[](#support)

The following support channels are available at your fingertips:

- [Chat on Slack](https://bit.ly/rinvex-slack)
- [Help on Email](mailto:help@rinvex.com)
- [Follow on Twitter](https://twitter.com/rinvex)

Contributing &amp; Protocols
----------------------------

[](#contributing--protocols)

Thank you for considering contributing to this project! The contribution guide can be found in [CONTRIBUTING.md](CONTRIBUTING.md).

Bug reports, feature requests, and pull requests are very welcome.

- [Versioning](CONTRIBUTING.md#versioning)
- [Pull Requests](CONTRIBUTING.md#pull-requests)
- [Coding Standards](CONTRIBUTING.md#coding-standards)
- [Feature Requests](CONTRIBUTING.md#feature-requests)
- [Git Flow](CONTRIBUTING.md#git-flow)

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

If you discover a security vulnerability within this project, please send an e-mail to [help@rinvex.com](help@rinvex.com). All security vulnerabilities will be promptly contacted.

About Rinvex
------------

[](#about-rinvex)

Rinvex is a software solutions startup, specialized in integrated enterprise solutions for SMEs established in Alexandria, Egypt since June 2016. We believe that our drive The Value, The Reach, and The Impact is what differentiates us and unleash the endless possibilities of our philosophy through the power of software. We like to call it Innovation At The Speed Of Life. That’s how we do our share of advancing humanity.

License
-------

[](#license)

This software is released under [The MIT License (MIT)](LICENSE).

(c) 2016-2022 Rinvex LLC, Some rights reserved.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity33

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity84

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 99.4% 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.

###  Release Activity

Cadence

Every ~52 days

Total

39

Last Release

1007d ago

Major Versions

v2.1.1 → v3.0.02019-09-22

v3.0.2 → v4.0.02020-03-15

v4.1.2 → v5.0.02020-12-22

v5.0.7 → v6.0.02021-08-22

v6.1.2 → v7.0.02023-01-08

PHP version history (6 changes)v0.0.1PHP ^7.1.3

v2.0.0PHP ^7.2.0

v4.0.0PHP ^7.4.0

v5.0.1PHP ^7.4.0 || ^8.0.0

v6.0.0PHP ^8.0.0

v7.0.0PHP ^8.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e54af04bcacb96e00894621335f88df7ed9895b6cc245deffdc9830a21cfe29?d=identicon)[Omranic](/maintainers/Omranic)

---

Top Contributors

[![Omranic](https://avatars.githubusercontent.com/u/406705?v=4)](https://github.com/Omranic "Omranic (308 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1 commits)")[![Rattone](https://avatars.githubusercontent.com/u/7362607?v=4)](https://github.com/Rattone "Rattone (1 commits)")

---

Tags

laravelpagesphpasynclaravelpagecachecmsajaxpagesrinvex

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rinvex-laravel-pages/health.svg)

```
[![Health](https://phpackages.com/badges/rinvex-laravel-pages/health.svg)](https://phpackages.com/packages/rinvex-laravel-pages)
```

###  Alternatives

[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[spatie/laravel-responsecache

Speed up a Laravel application by caching the entire response

2.8k8.2M51](/packages/spatie-laravel-responsecache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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