30 分钟使用 Laravel Voyager 构建一个论坛项目的后台

怎样在短时间内构建一个完整的论坛系统,这可以实现吗?虽然,Laravel 已经让 web 开发变得足够轻松而简单,但是我的许多同事仍然在思考这个问题。

今天我将提供这么一款扩展,他可以帮你快速构建完整项目。

首先,我们需要一个 Laravel 项目,通过以下命令创建:

composer create-project --prefer-dist laravel/laravel blog "6.*"

然后配置我们的环境变量 .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=MyDbName
DB_USERNAME=root
DB_PASSWORD=

基本配置完成,下面我们运行以下命令:

在 Laravel 5 版本中:

php artisan make:auth

在 Laravel 6 及以上版本:

composer require laravel/ui "^1.0" --dev

php artisan ui vue --auth

执行数据库迁移:

php artisan make:migration

基本框架搭建完成,现在让我们来安装 Laravel Voyager 扩展吧,通过以下命令安装扩展:

composer require tcg/voyager

Voyager 安装提供了 --with-dummy 参数供你选择,他可以帮你生成预览数据。

下面是基本安装:

php artisan voyager:install

下面是带有预览数据的安装:

php artisan voyager:install --with-dummy

Voyager 提供了以下命令帮你快速创建系统管理员:

php artisan voyager:admin your@email.com --create

管理员创建完成,现在让我们通过以下地址访问我们的后台(这里本地地址为:localhost:8000 ):

<http://localhost:8000/admin>

登录后你可能会遇到图像显示问题,那是因为我们的 .env 环境变量中的 APP_URL 问题导致的,下面更换 APP_URL 为我们的本地地址。

APP_URL=http://localhost

To:

APP_URL=http://localhost:8000

至此,我们的后台已经搭建完成,下面是预览截图:

Laravel

系统默认后台

想要知道该后台的更多信息,你可以先去 这里,现在我们要继续我们的完成论坛的搭建,现在我们需要另一个扩展 Laravel Chatter,这是一个提供了完成论坛功能的扩展。

运行安装命令:

composer require "devdojo/chatter=0.2.*"

如果你正在使用的 Laravel 版本低于 5.5,需要将以下代码添加到 config/app.php 的 provider's 数组中。

DevDojo\Chatter\ChatterServiceProvider::class,

发布 Vendor 静态资源:

php artisan vendor:publish --provider="DevDojo\Chatter\ChatterServiceProvider"

然后通过以下命令重新加载一下依赖:

composer dump-autoload

最后,执行数据库迁移:

php artisan migrate

在执行迁移的时候,你可能会遇到这样的问题: “Foreign key constraint is incorrectly formed”

在 Laravel 5.8+ 的版本中,你去要在 database/migrations 更改以下内容:

increments

更改为:

bigincrements

然后

integer

更改为:

biginteger

执行完成以上命令,通过以下命令:

php artisan migrate:fresh

Fresh使用说明

数据库创建王城,下一步生成预览数据,通过以下命令:

php artisan db:seed --class=ChatterTableSeeder

现在,我们可以方位我们的论坛了。

http://localhost:8000/forums

不要忘记引入我们的 CSS 和 js 文件:

在 app.blade.php 文件中添加: @yield('css')

在 head 起始标签和 body结束标签之间添加以下代码:

@yield('js')

现在论坛看起来是这样的:

Laravel

论坛

现在我们有了一个庞大的数据库,包含 Voyager 和 Chatter 表。我们现在需要做的是将仪表板和论坛集成在一起。为此,我们将访问仪表板并添加 Chatter 表。

访问:

http://localhost:8000/admin

创建新管理员时可能会遇到另一个问题,你需要为 Voyager 表填充数据。可以运行以下命令:

php artisan db:seed --class=VoyagerDatabaseSeeder

现在我们需要转到 tools/bread,以便在仪表板中添加这些表。

Laravel

如你所见,我们数据库中所有的表在这里都可以看到,现在我们单击“Add BREAD to this table”。

添加 bread

如你所见,在模型名称这一栏,你需要指定一个模型,为此,我们需要创建一个名为 ChatterCategory 的新模型作为示例。

Laravel

在页面下方,可以看到你想要加到模型里的所有变量和对应的选项。

最后,我们在仪表板中添加了 categories 表,现在我们可以管理所有类别了。你可以对其他表执行相同的步骤。

Laravel

这篇文章可能比其他文章长一些,但有了这两个包,你现在可以在 30 分钟之内创建一个带有仪表板的完整论坛了。

Laravel是我使用过的最好的PHP框架之一,它允许你创建大型 web 应用程序,对于那些想学习新技术的人来说是一个很好的工具。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://medium.com/@firasjerbi/create-a-...

译文地址:https://learnku.com/laravel/t/44183

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!