# laravle5.5-blog **Repository Path**: MoSheng2020/laravle5.5-blog ## Basic Information - **Project Name**: laravle5.5-blog - **Description**: 基于laravel5.5的php博客项目 - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-08 - **Last Updated**: 2022-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## This is a blog item for laravel5.5 ## 莫生 ##

My QQ:1098901025

My WeChat:

## 目前开发进度 ### 因缺少好看的前段页面 ### 写到前段这里还未写好 ### 如有好看的前端页欢迎联系我,感谢 ### 功能可二次开发 ## 一、功能概述 ### 前后端分离 ### 前台功能 首页 注册|登录,手机注册、邮箱注册、找回密码 分类 留言 文章列表 文章详情页 文章评论 ### 后台功能: 用户管理 编辑、停用、添加、删除用户 角色管理 添加、删除角色,编辑角色权限 权限管理 添加权限、权限对应laravel权限路由、修改、编辑、删除权限 分类管理 添加、编辑、删除分类 文章管理 添加、编辑、删除文章的分类|标题|缩略图|关键词|描述 网站配置管理 友情链接管理 轮播图管理 ### 项目涉及 1、图形验证码 2、短信接口 3、RBAC权限系统 4、邮件服务 5、百度编辑器、markdown编辑器 6、阿里云oss、七牛云文件上传 7、常用composer组件使用 8、redis缓存 9、docker本地服务器、git 10、laravel的路由、控制器、模型、中间件、数据库增删改查、get/post接口 ## 二、RBAC权限概述: ### 用户管理、角色管理、权限管理 创建五个数据表 1、用户表 blog_user 2、角色表 blog_role 3、权限表 blog_permission 4、用户角色关系表 blog_user_role 5、角色权限关系表 blog_role_permission ## 常用命令 创建控制器 php artisan make:controller Admin/ArtisanController1 创建model php artisan make:model Models/Admin/Article ##中间件 如下代码 Route::group(['prefix'=>'admin','namespace'=>'Admin','middleware'=>['islogin','hasRole']],function(){ 其中middleware就是中间件,它在group组下的所有页面都会判断islogin用户是否登录 创建中间件:php artisan make:middleware IsLogin 在app/Http/Middleware/IsLogin.php写入中间件验证 app/Http/Kernel.php注册中间件 ## 图片处理组件-intervention/image 1、安装 composer require intervention/image 2、配置 在config/app.php文件中添加 Intervention\Image\ImageServiceProvider::class 'Image'=>Intervention\Image\Facades\Image::class 3、常用方法 在控制器中映入 use Image; $img = Image::make('public/foo.jpg'); $img->resize(320,240); $img->save('public/bar.jpg'); ## 百度富文本编辑器 ### 1.1 下载编辑器 1. `git clone ` 仓库 2. `npm install` 安装依赖(如果没有安装 grunt , 请先在全局安装 grunt) 3. 在终端执行 `grunt default` ### 1.2 创建demo文件 解压下载的包,在解压后的目录创建demo.html文件,填入下面的html代码 ```html ueditor demo ``` ### 1.3 在浏览器打开demo.html 如果看到了下面这样的编辑器,恭喜你,初次部署成功! ![部署成功](http://fex.baidu.com/ueditor/doc/images/demo.png) ## markdown编辑器 1、安装 composer require graham-campbell/markdown 2、配置 在config/app.php文件中添加 GrahamCampbell\Markdown\MarkdownServiceProvider 'Markdown'=>GrahamCampbell\Markdown\Facades\Markdown::class, 3、常用语法 Markdwon::convertToHtml('foo');//

foo

## 阿里云oss https://packagist.org 搜索johnlui/aliyun-oss 执行命令安装composer require johnlui/aliyun-oss:~2.1.2 新建 app/services/OSS.php,内容可参考:[OSS.php](https://github.com/johnlui/AliyunOSS/blob/master/example/OSS.php),然后修改配置: ```php ... ... private $city = '青岛'; // 经典网络 or VPC private $networkType = '经典网络'; private $AccessKeyId = ''; private $AccessKeySecret = ''; ... ... ``` 在 `composer.json` 中 `autoload -> classmap` 处增加配置: ```json "autoload": { "classmap": [ "app/services" ] } ``` 然后运行 `composer dump-autoload`。 无需配置,保证目录 `App/Services` 和命名空间 `namespace App\Services;` 一致即可自动加载。 ### 使用 ```php use App\Services\OSS; // 在外网上传一个文件并指定 options 如:Content-Type 类型 // 更多 options 见:https://github.com/johnlui/AliyunOSS/blob/master/src/oss/src/Aliyun/OSS/OSSClient.php#L142-L148 OSS::publicUpload('bucket', '目标 object 名', '本地文件绝对路径', [ 'ContentType' => 'application/pdf', ... ... ]); ``` 如果上传的是图片,务必保证ContentType是image/jpg,否则打开图片是直接下载而不是预览 2022年07月21日08:29:06测试可用 ## 安装Redis扩展 composer require "predis/predis:~1.0" ## 三、Tips: ### 1、当resource路由的控制器中定义了public function index(){},那么访问的话不要加index,直接访问路由定义的根目录。 比如这个:Route::resource('admin/cate','Admin\SortController'); 直接访问localhost/admin/cate便可,访问localhost/admin/cate/index是无法访问的 不要被控制器中的index给混淆了