forlaravel/laravel-forum

A Laravel 5 package providing a solid foundation for building discussion forums


Keywords
forum, laravel, laravel-4, discuss, laravel-5
License
MIT

Documentation

Scrutinizer Code Quality

Requirements

  • PHP 5.4 or above
  • Laravel 5.1 or above

Installation

Step 1: Install the package

Install the package via composer:

composer require forlaravel/laravel-forum

Then add the service provider to your config/app.php:

forlaravel\Forum\ForumServiceProvider::class,

Installing the standard front-end is recommended:

composer require forlaravel/laravel-forum-frontend
forlaravel\Forum\Frontend\ForumFrontendServiceProvider::class,

Step 2: Publish the package files

Run the vendor:publish command to publish the package config, translations and migrations to your app's directories:

php artisan vendor:publish

Step 3: Update your database

Run your migrations:

php artisan migrate

Additional steps

Server configuration

If you installed Xdebug before version 2.3, you may need to modify xdebug.max_nesting_level. The suggested and new default value from version 2.3 onwards is 256.

Configuration

Several configuration files are published to your application's config directory, each prefixed with forum.. Refer to these for a variety of options for changing the behaviour of the forum and how it integrates with key parts of your application code.

You may need to modify the forum.integration.user_name config option according to your user model. This specifies which attribute on the user model should be used as a display name in the forum views.

Translations

Laravel Forum currently supports 8 languages: German, English, Spanish, French, Italian, Romanian, Russian and Swedish. The translation files are published to resources/lang/vendor/forum/{locale}. Please be aware that much of the translation work in 3.0 has been done using Google Translate and probably isn't accurate. Pull requests are welcome to rectify this.

Policies (user permissions)

Permissions are handled via the Authorization features introduced in Laravel 5.1.11. Refer to src/Policies for a full list of policies. To override methods in a policy, just create a class extension for it somewhere in your application and change the corresponding namespace specified in the forum.integration.policies config array. You'll likely want to do this for the ForumPolicy and CategoryPolicy as a minimum to prevent your regular users from managing categories and threads!