基于laravel的一个bbs论坛项目
基于laravel的一个bbs论坛项目
安装
在 Debian 或者 Ubuntu 操作系统上,你可以通过我们提供的 Debian 包仓库来安装 Yarn。 在这之前,你需要先配置仓库:curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
composer require "mews/captcha:~2.0"
php artisan vendor:publish --provider='Mews\Captcha\CaptchaServiceProvider'
composer require "overtrue/laravel-lang:~3.0"
\Carbon\Carbon::setLocale('zh');
composer require intervention/image
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
composer require "summerblue/generator:~0.5" --dev
git add -A
git commit -m "Add generator"
php artisan make:scaffold Projects --schema="name
index,description
nullable,subscriber_count
unsigned:default(0)"
composer require "barryvdh/laravel-debugbar:~3.1" --dev
php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"
composer require "hieu-le/active:~3.5"
active_class($condition, $activeClass = 'active', $inactiveClass = '')
介绍
使用
Eloquent模型会触发许多事件(Event),我们可以对模型的生命周期内多个时间点进行监控:创建,创建,更新,更新,保存,保存,删除,删除,恢复,恢复。有特定的模型类在数据库保存或更新时,执行代码。一个当新模型被初次保存将会触发creating以及created事件。如果模型一个已经存在于数据库御姐调用了save方法,触发将会updating状语从句:updated事件。在这两种下情况都会触发saving状语从句:saved事件。
Eloquent观察器允许我们对给定模型中进行事件监控,观察者类里的方法名对应Eloquent想监听的事件。每种方法接收model作为其唯一的参数。
https://github.com/mycolorway/simditor/
composer require "mews/purifier:~2.0"
php artisan vendor:publish --provider="Mews\Purifier\PurifierServiceProvider"
return [
'encoding' => 'UTF-8',
'finalize' => true,
'cachePath' => storage_path('app/purifier'),
'cacheFileMode' => 0755,
'settings' => [
'user_topic_body' => [
'HTML.Doctype' => 'XHTML 1.0 Transitional',
'HTML.Allowed' => 'div,b,strong,i,em,a[href|title],ul,ol,ol[start],li,p[style],br,span[style],img[width|height|alt|src],*[style|class],pre,hr,code,h2,h3,h4,h5,h6,blockquote,del,table,thead,tbody,tr,th,td',
'CSS.AllowedProperties' => 'font,font-size,font-weight,font-style,margin,width,height,font-family,text-decoration,padding-left,color,background-color,text-align',
'AutoFormat.AutoParagraph' => true,
'AutoFormat.RemoveEmpty' => true,
],
],
];
clean($topic->body, 'user_topic_body');
composer require "guzzlehttp/guzzle:~6.3"
PinYin 是 安正超 开发的,基于 CC-CEDICT 词典的中文转拼音工具,是一套优质的汉字转拼音解决方案。
composer require "overtrue/pinyin:~3.0"
- 修改env配置
QUEUE_DRIVER=redis
- 有时候队列中的任务会失败。Laravel 内置了一个方便的方式来指定任务重试的最大次数。当任务超出这个重试次数后,它就会被插入到 failed_jobs 数据表里面。我们可以使用 queue:failed-table 命令来创建 failed_jobs 表的迁移文件:
php artisan queue:failed-table
- 执行migrate
php artisan migrate
- 生成任务类
php artisan make:job TranslateSlug
- 启动监听
php artisan queue:listen
## Laravel 自带的一套极具扩展性的消息通知系统
- 解释
什么是通知频道?
通知频道是通知传播的途径,Laravel 自带的有数据库、邮件、短信(通过 Nexmo)以及 Slack。本章节中我们将使用数据库通知频道,后面也会使用到邮件通知频道。
- 准备数据库
php artisan notifications:table
php artisan migrate
- 生成通知类
php artisan make:notification TopicReplied
## 安装laravel-permission控制权限
- 安装
composer require “spatie/laravel-permission:~2.7”
- 配置
php artisan vendor:publish —provider=”Spatie\Permission\PermissionServiceProvider” —tag=”config”
## 安装用户切换工具
- 安装
composer require “viacreative/sudo-su:~1.1”
- 配置。修改AppServiceProvider的register方法
public function register()
{
if (app()->isLocal()) {
$this->app->register(\VIACreative\SudoSu\ServiceProvider::class);
}
}
## 安装后台管理页面
- 安装
composer require “summerblue/administrator:~1.1”
- 提取配置
php artisan vendor:publish —provider=”Frozennode\Administrator\AdministratorServiceProvider
```