timedoor/blog
:Timedoor 简单博客
v1.0.0
2022-05-17 06:42 UTC
Requires
- astrotomic/laravel-translatable: v11.9.1
- cviebrock/eloquent-sluggable: ^8.0
- intervention/image: ^2.7
- mcamara/laravel-localization: 1.6.2
- spatie/eloquent-sortable: 3.11.0
- timedoor/filter: v1.0.2
- unisharp/laravel-filemanager: ^2.4
This package is auto-updated.
Last update: 2024-09-17 12:20:58 UTC
README
安装
$ composer require timedoor/blog
设置
1. 安装资源
$ php artisan blog:install
$ php artisan vendor:publish --tag=blog
$ php artisan storage:link
2. 设置环境
APP_URL={your_project_domain}
// example: http://timedoor-blog.test
3. 设置配置和 composer.json
将以下代码添加到 filesystems 配置中
// app/config/filesystems.php
'disks' => [
...
'public_upload' => [
'driver' => 'local',
'root' => public_path() . '/upload',
'url' => '/upload'
]
]
将以下代码添加到 composer.json 中
// composer.json
"autoload-dev": {
...
"files": [
"app/Helpers/blog.php"
]
},
之后别忘了重新加载自动加载
$ composer dump-autoload
4. 设置数据库
$ php artisan migrate
$ php artisan db:seed --class=MultilanguageSettingTableSeeder
5. 完成设置
您需要在您的内核中注册本地化中间件
// app/Http/Kernel.php
protected $routeMiddleware = [
...
'localize.api' => \App\Http\Middleware\LocalizeApiRequest::class,
'localize' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes::class,
'localizationRedirect' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class,
'localeSessionRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::class,
'localeCookieRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleCookieRedirect::class,
'localeViewPath' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationViewPath::class,
]
之后您需要在 AppServiceProvider 的 boot 方法中添加一些代码
// app/Providers/AppServiceProvider.php
use Illuminate\Support\Facades\Config;
public function boot()
{
...
$multilanguages = getMultilanguageSetting();
Config::set('translatable.locales', $multilanguages->pluck('locale')->toArray());
Config::set('laravellocalization.supportedLocales', $multilanguages->pluck('detail', 'locale')->toArray());
}
最后您需要在 RouteServiceProvider 中注册路由
Route::prefix('api/v1')
->middleware(['api', 'localize.api'])
->namespace($this->namespace)
->group(base_path('routes/blog-api.php'));
Route::prefix('admin-blog')
->name('admin-blog.')
->middleware('web')
->namespace($this->namespace)
->group(base_path('routes/blog-admin.php'));
所有设置完成,现在您可以使用该包了,以下是博客管理端和博客 API 的 URL
{your_domain}/admin-blog/blogs
{your_domain}/api/v1