PHPackages                             jozwikp/flexcms - 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. [Framework](/categories/framework)
4. /
5. jozwikp/flexcms

ActiveProject[Framework](/categories/framework)

jozwikp/flexcms
===============

Flexible CMS

013PHP

Since Jul 6Pushed 7y ago1 watchersCompare

[ Source](https://github.com/jozwikp/flexcms)[ Packagist](https://packagist.org/packages/jozwikp/flexcms)[ RSS](/packages/jozwikp-flexcms/feed)WikiDiscussions master Synced 2w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Flexcms
=======

[](#flexcms)

Flexcms is simple and flexible yet powerful Laravel functionality.! It lets you build a page structure with lists and pages.

Every page can exist within the list or separately. You can build a blog with categories or a lonely contact page.

Full feature list
=================

[](#full-feature-list)

- Use of standard authentication and user account but separated logic of admin and author - no changes to your User model
- Use of routes fallback gives you the unlimited paths flexibility
- Blade templates for lists and pages
- Pages as part of lists or standalone Pages
- Full SEO support with meta title end description
- Laravel cache for Pages and Lists - 0 database queries for page or list display
- Simple but powerful Admin and Author panel
- Easy to understand, publish and customization

### Flexible paths

[](#flexible-paths)

The most important thing is that you can have a page or a list with whatever url you like for example:

- /my-page
- /blog/super-category/super-post-with-extra-content
- /contact
- /about/company
- /your/super/path/to/content

### Separated

[](#separated)

Flexcms doesn't change any of the existing Laravel app. You don't even have to add anything to User model.

### Styleable

[](#styleable)

Every List or Page can have its own blade template.

### Cached

[](#cached)

Flexcms is ultra fast. Every Page and List is fully cached. No database request.

### Installation

[](#installation)

Laravel 5.6 with standard Authentication

```
composer require jozwikp/flexcms
```

Add basic authentication

```
php artisan make:auth
```

Add the ServiceProvider to the providers array in config/app.php

```
Jozwikp\Flexcms\FlexcmsServiceProvider::class,
```

Add this line to the end of your routes/web.php

```
Route::any('{path}', '\Jozwikp\Flexcms\controllers\PathController@resolve')->where('path', '(.*)');
```

Run migrations

```
php artisan migrate
```

Add admin user with:

```
$ php artisan flexcms:makeadmin
```

Flexcms use images to lists and pages so you should create a symbolic link from "public/storage" to "storage/app/public" with:

```
$ php artisan storage:link
```

Login to your app and go to /flexcms

### Next steps

[](#next-steps)

Share the lists with the views in your AppServiceProvider.php boot() method

```
$lists = Cache::rememberForever('lists', function() {
          return Liist::with('siblings')->whereNull('parent_id')->get();
        });
view()->share('lists', $lists);
```

Include partials in your template (parent lists)

```
@include('flexcms::_lists')
```

or (parents with siblings)

```
@include('flexcms::_lists-siblings')
```

### Customize the default views

[](#customize-the-default-views)

Publish the views

```
php artisan vendor:publish
```

list-default.blade.php page-default.blade.php

If you need other type of views you can copy default views and change default into other name. Use your new name while editing lists or pages.

###  Health Score

19

—

LowBetter than 9% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

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://avatars.githubusercontent.com/u/5263329?v=4)[jozwikp](/maintainers/jozwikp)[@jozwikp](https://github.com/jozwikp)

### Embed Badge

![Health badge](/badges/jozwikp-flexcms/health.svg)

```
[![Health](https://phpackages.com/badges/jozwikp-flexcms/health.svg)](https://phpackages.com/packages/jozwikp-flexcms)
```

###  Alternatives

[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k104.3M836](/packages/laravel-socialite)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k38.6M289](/packages/laravel-dusk)[nineinchnick/edatatables

Grid widget for the Yii Framework, wrapper for the DataTables jQuery plugin

173.2k](/packages/nineinchnick-edatatables)[link-cloud/fast-hyperf

LinkCloud Fast Hyperf

241.2k1](/packages/link-cloud-fast-hyperf)

PHPackages © 2026

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