精华内容
下载资源
问答
  • Angular JS+Laravel 前后端全栈开发知乎 AngularJs 1.0 Laravel 5.2
    2020-12-28 22:38:40

    资源介绍

    教程名称:

    xa0 xa0 xa0 xa0Angular JS+Laravel 前后端全栈开发知乎 AngularJs 1.0 Laravel 5.2

    教程内容:

    xa0 xa0 xa0其实这篇教程无论是前端转后端或者后端转前端都是一个比较不错的入门教程。迅速的掌握全栈的各种知识。后端PHP框架Laravel配合前端AngularJs框架仿造一个知乎的模式。课程也集成了grunt、bower、glup等前端自动化工具以及jasmine单元测试。作为入门级别的课程来说讲课逻辑清晰详细定位非常准确。看Laravel文档摸不准方向的会对你有很大的收获。使用laravel 的 Migration机制操作数据库、后端接口的编写。Laravel作为好评排名前列的PHP框架还是值得你花点时间去学习对你的职业也是有帮助的。

    教程目录:

    1.课程介绍

    介绍课程内容、背景和案例展示

    2.了解Composer的安装laravel的部署

    介绍Composer的作用以及使用它安装Laravel及其依赖的方式

    3.Migration在本项目中的使用

    什么是Migration?为什么需要Migration?怎么使用Migration?

    4.用户API实现

    介绍了如何实现用户注册及登录、Laravel的session机制、用户权限管理的实现原则

    5.问题API的实现

    介绍问题模块中最基础的增删改查API,数据验证及删除权限的限制

    6.回答API的实现

    介绍回答模块中最基础的增删改查API,数据验证及删除权限的限制

    7.评论API的实现

    介绍了评论模块中最基础的增删改查API,数据验证及删除权限的限制。评论与其他模型的关系更为复杂,此处会讲到Laravel中一对多关系

    8.通用API的实现

    讲解了当API调用到多个model,面对更复杂更综合的情况时如何规划接口。

    9.后端总结

    概括及总结实现后端的要点及难点、注意事项、以及强调API的设计原则。

    10.前端的部署

    前端依赖的安装和部署,如:Angular,ui-router

    11.路由的建立

    使用ui-router进行前端路由的规划

    12.整体布局

    对所有页面进行整体布局,以保证在不同页面中的布局标准统一。

    13.注册模块

    对注册页面进行布局,建立相应的服务与控制器,调用API并绑定数据

    14.登录模块

    对登录页面进行布局,建立登录页面相应的服务与控制器,调用登录页面API并绑定数据。

    15.添加问题模块

    对添加问题页面进行布局,建立添加问题模块相应的服务与控制器,调用添加问题模块API并绑定数据。

    16.首页模块

    对首页页面进行布局,建立首页模块相应的服务与控制器,调用首页模块API并绑定数据。

    17.用户详情模块

    用户详情页面进行布局,建立用户详情模块相应的服务与控制器,调用用户详情模块API并绑定数据。

    18.问题详情模块

    对问题详情模块页面进行布局,建立问题详情模块相应的服务与控制器,调用问题详情模块API并绑定数据。

    19.回答模块

    对回答模块页面进行布局,建立回答模块相应的服务与控制器,调用回答模块API并绑定数据。

    20.评论模块

    对评论模块页面进行布局,建立评论模块相应的服务与控制器,调用评论模块API并绑定数据。

    21.问题修改模块

    问题修改模块

    百度网盘可以用手机平板电脑在线播放,也可以下载之后播放

    百度网盘下载地址

    更多相关内容
  • php artisan make:controller Admin/NodeController -r -m Models/Node 可以看到这边都自动生成模型路由了,跟之前角色路由我们手动传id的区别,就是这个命令你传id都给你自动取出模型数据,这就是laravel优雅之处...

    一、修改角色

    1.1 修改角色模版

    修改角色模版: resource\views\admin\role\edit.blade.php

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <link rel="Bookmark" href="/favicon.ico" >
    <link rel="Shortcut Icon" href="/favicon.ico" />
    
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui/css/H-ui.min.css" />
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/H-ui.admin.css" />
    <link rel="stylesheet" type="text/css" href="/admin/lib/Hui-iconfont/1.0.8/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/skin/default/skin.css" id="skin" />
    <link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/style.css" />
    
    
    <title>修改角色</title>
    </head>
    <body>
    <article class="page-container">
    	<!-- 表单验证 -->
    	@include('admin.common.validate')
    	<form action="{{route('admin.role.update', $model)}}" method="post" class="form form-horizontal" id="form-member-add">
    	@csrf
    		<div class="row cl">
    			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>角色:</label>
    			<div class="formControls col-xs-8 col-sm-9">
    				<!-- 闪存 -->
    				<input type="text" class="input-text" value="{{$model -> name}}" placeholder="角色名" id="username" name="name">
    			</div>
    		</div>
    		<div class="row cl">
    			<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
    				<input class="btn btn-primary radius" type="submit" value="&nbsp;&nbsp;修改角色&nbsp;&nbsp;">
    			</div>
    		</div>
    	</form>
    </article>
    
    <!--_footer 作为公共模版分离出去-->
    <script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script> 
    <script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script>
    <script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script> 
    <script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
    
    <!--请在下方写此页面业务相关的脚本--> 
    <script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
    <script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/jquery.validate.js"></script> 
    <script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/validate-methods.js"></script> 
    <script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/messages_zh.js"></script>
    <script type="text/javascript">
    // 采用ajax 进行提交
    	$(function() {
    
    		$("#form-member-add").validate({
    			// rules: {
    			// 	name: {
    			// 		required: true,
    			// 	}
    
    			// },
    			onkeyup: false,
    			focusCleanup: true,
    			success: "valid",
    			submitHandler: function(form) {
    				let url = $(form).attr('action');
    				// 表单序列化
    				let data = $(form).serialize();
    				console.log(data)
    				// put提交
    				$.ajax({
    					url,
    					data,
    					type: "PUT"
    				}).then((res) => {
    					console.log(res);
    					if (res.status == 20002) {
    						layer.msg(res.msg, {icon: 2, time: 2000});
    					}
    					else if (res.status == 1) {
    						layer.msg(res.msg, {icon: 1, time: 2000},() => {
    							location.href = "{{route('admin.role.index')}}";
    						})
    					}
    				})
    			}
    
    		});
    
    	});
    </script>
    </body>
    </html>
    

    1.2 修改角色控制器显示

    /**
         * Show the form for editing the specified resource.
         *
         * @param  int  $id
         * @return \Illuminate\Http\Response
         */
        public function edit(int $id)
        {
            $model = Role::find($id);
            return view('admin.role.edit', compact('model'));
        }
    

     

    1.3 修改角色控制器逻辑

     /**
         * Update the specified resource in storage.
         *
         * @param  \Illuminate\Http\Request  $request
         * @param  int  $id
         * @return \Illuminate\Http\Response
         */
        public function update(Request $request, int $id)
        {
            // 异常处理
            try {
                // 后台验证
                $this -> validate($request, [
                    // unique:表名,唯一字段,排除行的值,以哪个字段来排除
                    'name' => 'required|unique:roles,name,'.$id.',id' // 排除id=3的那行
                ]);
            }
            catch (Exception $e) {
                return ['status' => 20002, 'msg' => '验证不通过!'];
            }
            // 修改角色入库
            Role::where('id', $id) -> update($request->only(['name']));
            return ['status' => 1, 'msg' => '修改用户成功!'];
        }
    

     

    二、权限(结点)管理

    2.1 创建权限资源路由

    资源路由 权限管理:

     Route::resource('node', 'NodeController');
    

    2.2 创建资源控制器(关联模型)

    创建资源控制器,并关联模型: php artisan make:controller Admin/NodeController -r -m Models/Node

    可以看到这边都自动生成模型路由了,跟之前角色路由我们手动传id的区别,就是这个命令你传id都给你自动取出模型数据,这就是laravel优雅之处了。

    2.3 权限列表

    1、控制器方法

        /**
         * Display a listing of the resource.
         *
         * @return \Illuminate\Http\Response
         */
        public function index()
        {
            $data = Node::all();
            return view('admin.node.index', compact('data'));
        }
    

    Node::all()获取到节点的所有数据,并将数据给返回给admin.node.index模版进行渲染。

    2、模版展示 还是直接将user文件夹复制黏贴改成node文件夹:

     

    修改index.blade.php代码:

    <!DOCTYPE HTML>
    <html>
    
    <head>
    	<meta charset="utf-8">
    	<meta name="renderer" content="webkit|ie-comp|ie-stand">
    	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    	<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui/css/H-ui.min.css" />
    	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/H-ui.admin.css" />
    	<link rel="stylesheet" type="text/css" href="/admin/lib/Hui-iconfont/1.0.8/iconfont.css" />
    	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/skin/default/skin.css" id="skin" />
    	<link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/style.css" />
    	<link rel="stylesheet" href="{{asset('css/app.css')}}">
    	<style>
    		a {
    			color: #fff;
    		}
    	</style>
    	<title>权限管理</title>
    </head>
    
    <body>
    	<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 用户中心 <span class="c-gray en">&gt;</span> 节点管理 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a></nav>
    	<!-- 消息提示 -->
    	@include('admin.common.msg')
    
    	<div class="page-container">
    		<form method="get" class="text-c"> 节点名称:
    			<input type="text" class="input-text" value="" style="width:250px" placeholder="输入节点名称" id="" name="kw" autocomplete="off" >
    			<button type="submit" class="btn btn-success radius" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜节点</button>
    		</form>
    		<div class="cl pd-5 bg-1 bk-gray mt-20">
    			<span class="l">
    				<a href="{{route('admin.node.create')}}" class="btn btn-primary radius">
    					<i class="Hui-iconfont">&#xe600;</i> 添加节点
    				</a>
    			</span>
    		</div>
    		<div class="mt-20">
    			<table class="table table-border table-bordered table-hover table-bg table-sort">
    				<thead>
    					<tr class="text-c">
    						<th width="80">ID</th>
    						<th width="100">节点名称</th>
    						<th width="40">路由别名</th>
    						<th width="130">是否菜单</th>
    						<th width="130">加入时间</th>
    						<th width="100">操作</th>
    					</tr>
    				</thead>
    				<tbody>
    					@foreach($data as $item)
    					<tr class="text-c">
    						<td>{{$item -> id}}</td>
    						<td>{{$item -> name}}</td>
    						<td>{{$item -> route_name}}</td>
    						<td>{{$item -> is_menu}}</td>
    						<!-- <td>
    							<span class="label label-success radius">
    								<a href="#">权限</a>
    							</span>
    						</td> -->
    						<td>{{$item -> created_at}}</td>
    						<td class="td-manage">
    							<span class="label label-primary radius">
    								<a href="{{route('admin.node.edit', $item)}}">修改</a>
    							</span>
    							<span class="label label-danger radius">
    								<a href="{{route('admin.node.destroy', $item)}}">删除</a>
    							</span>
    						</td>
    					</tr>
    					@endforeach
    				</tbody>
    			</table>
    
    		</div>
    	</div>
    	<!--_footer 作为公共模版分离出去-->
    	<script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script>
    	<script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script>
    	<script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script>
    	<script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script>
    	<!--/_footer 作为公共模版分离出去-->
    
    	<!--请在下方写此页面业务相关的脚本-->
    	<script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script>
    	<script type="text/javascript" src="/admin/lib/datatables/1.10.15/jquery.dataTables.min.js"></script>
    	<script type="text/javascript" src="/admin/lib/laypage/1.2/laypage.js"></script>
    </body>
    
    </html>
    

     

    3、增加菜单项

    效果:

     

    可以看到效果已经出来了,但是还没有数据,我们将在下节进行数据的展示效果。

    在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。


     

    展开全文
  • 小型影评网站,包含前台、后台、接口代码,前端nodejs+vue+elementui+axios,后端laravel+mysql,这套组合框架实现简单、好上手,毕业生们拿去作参考吧
  • 基于laravel和vue的前后端分离设计

    热门讨论 2021-04-30 09:48:37
    前言 最近需要搭建一个前后端分离的项目,前端当然就使用常见的框架Vue的脚手架,关于Vue脚手架的安装可以参考之前的博客。后端采用php中的laravel框架,号称最受欢迎的框架,确实相比其他php的框架,在github上的...

    前言

    最近需要搭建一个前后端分离的项目,前端当然就使用常见的框架Vue的脚手架,关于Vue脚手架的安装可以参考之前的博客。后端采用php中的laravel框架,号称最受欢迎的框架,确实相比其他php的框架,在github上的星星的个数要高很多。因为之前的系统大部分前后端一个人搞定的,也常用模板引擎,现在前后端分离以后,可能前端和后端都不在同一台服务器上,因此有必要先配置后端的请求地址。

    前端配置后端请求地址

    配置admin开头的请求全部转发到8000的后端端口上
    在这里插入图片描述

    客户端带着账号密码登录,服务端处理

    //生成token
    $token = Token::getToken(['id' => $info['id'],'username' => $info['username'],'time' => time()]);
    
    // 把token存储在redis中用于更新有效期
    $val   = ['token' => $token];
    $key   = "ADMIN:UID:".$info['id'];
    $redis = new Predis();
    $redis->set($key,$val,3600);
    //登录成功后把token返回给客户端,客户端保存
    

    客户端存放登录成功后的token

    在这里插入图片描述

    客户端登录后的请求

    拦截器中生成需要带的token,这里把时间戳参数加进去后端解密出来,根据时间戳判断请求的有效性。

    service.interceptors.request.use(
        config => {
            let time = Math.round(new Date() / 1000);
            let sign = md5("appname=LaravelAdmin&appsecret=Sl7qkF2DKglAdlk4397qdKCUf3&timestamp=" + time);
            // 设置请求头
            let data = {
                sign: sign,
                timestamp: time,
                token: localStorage.getItem('token')
            }
            config.headers.token = Base64.encode(JSON.stringify(data));
            return config;
        },
        error => {
            console.log(error);
            return Promise.reject();
        }
    );
    

    登录后的服务端处理

    $token = $request->header('token');//对应上面的data的base64后的值
    $str   = base64_decode($token);
    $arr   = json_decode($str,true);
    
    //首先验证时间戳是否在有效期
     if ((time() - $arr['timestamp']) > 60) {
                errorReturn();
            }
    
    //签名是否正确
        $sign = md5('appname='.config('style.app.name').'&appsecret='.config('style.app.secret').'&timestamp='.$arr['timestamp']);
        if ($arr['sign'] != $sign) {
                errorReturn();
            }
    
    $userToken = $arr['token'];//用户传过来的token
    
    //反解token
    $result = Token::checkToken($userToken);
    
    //验证redis中是否存储改用户信息
    $result = (array)$result;
    $userInfo = (array)$result['data'];
    
    # 从redis获取信息
    $key   = "ADMIN:UID:".$userInfo['id'];
    $redis = new Predis();
    $data  = $redis->get($key);
    if (!$data) {
     errorReturn('登录失效,请重新登录',1001);
    }
    
    # 只允许账号一次登录, 判断用户传过来的token是不是之前服务端给的token,因为多次登录的token中包含的user_id可能是相同的,但是生成的完整的token是不相同的,因此如果需账号只能一次登录,可以使用该判断,反之,注释代码即可。
       if ($userToken != $data['token']) {
                errorReturn('登录失效,请重新登录',1001);
            }
    
    # 刷新token的有效期,类似于sessionID有效期从操作后开始计算
    $redis->expire($key,3600*4);
    
    
    
    
    
    
    
    
    展开全文
  • laravel7+ vue + element-ui的后台极速开发框架,采用前后端分离架构,安全性 (JWT 校验、中间件、验证器、路由、异常处理、权限控制) 网址:http://139.155.45.209:84/admin账号:admin 密码:admin ### ...

    laravel7 + vue + element-ui的后台极速开发框架,采用前后端分离架构,安全性 (JWT 校验、中间件、验证器、路由、异常处理、权限控制) 网址:http://139.155.45.209:84/admin 账号:admin 密码:admin

    ### 注意事项
    后端项目部署,尽量用域名,不要用`php artisan serve`,启用后端项目,否则会出现后台无法登录问题


    ### 安装要求
    1. php = 7.4
    2. laravel = 7.22.4
    2. mysql >= 5.7
    3. vue = 2.5.17
    3. redis
    4. node = v10.24.1

    ### 安装依赖
    由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,我们建议使用国内镜像 (阿里云)。
    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    根目录执行
    composer update

    #### 后端一键安装:
    http://你的网址/install

    ### 后端命令行安装


    #### 第一步 配置后端:
    1. cd api #进入后端目录
    2. cp .env.dev .env #复制配置
    3. 创建数据库,laravel-vue-cms 并依次设置 .env文件中的 `DB_HOST` `DB_PORT` `DB_DATABASE` `DB_USERNAME` `DB_PASSWORD`


    #### 第二步 安装后端:
    php artisan migrate #第一步:安装数据表
    php artisan generate:cms #第二步:添加demo数据
    php artisan key:generate #第三步:生成APP_KEY
    php artisan passport:keys --force #第四步:生成oauth密钥
    php artisan storage:link #第五步:创建目录软连接
    php artisan passport:client --password --provider=admins #第六步:生成OAuth令牌

    复制生成OAuth令牌参数,到.env文件中的`PASSPORT_CLIENT_ID` `PASSPORT_CLIENT_SECRET`

    chown -R 777 storage #更改权限目录


     



     

    #### 前端环境配置:
    打开`frontend/config/dev.env.js`,并全局搜索 `http://139.155.45.209:84/` 并替换域名为 `你的后端域名`,注意后面,要有反斜杠结尾

    #### 前端一键安装:
    npm install --registry=https://registry.npm.taobao.org
    npm run dev #本地热开发
    npm run build:prod #打包编译


    #### 编译并覆盖
    npm run build:prod && \cp -r -f dist/* ../backend/public/admin/


    #### 访问链接
    后台:你的域名/admin 账号: admin 密码: admin


     

    ### 常见问题

        1. 如何定义,php artisan generate:demo 命令呢
            在目录: `backend/app/Console/Commands/` 定义 输入 `php artisan generate` 可以检测命令是否定义成功
        


        2. 关于后端,URL重写问题
            location / {  
                try_files $uri $uri/ /index.php$is_args$query_string;  
            }
        


        3. 后台管理,菜单图标,都有哪些呢
            可以在 `/frontend/src/icons/svg` 中查看
            目前系统支持:
            zip、wechat、visitor、user、tree、tool、theme、table、tab、
            statistics、star、size、shopping、shipments、register、refund
            、qr、qq、pv、project、plug-in、peoples、people、pdf、password、
            oldvisitor、note、nested、money、message、manage、logistics、lock、
            location、list、link、language、international、inform、Indent、
            icon、home、guide、goods、form、eye、expenditure、excel、example、
            establish、email、element、edit、drag、documentation、data、
            dashboard、component、complaint、column、clipboard、chart、
            bug、article、apply、AD、404

        4. 友情链接


            vue-element-admin文档:https://panjiachen.gitee.io/vue-element-admin-site/zh/   https://panjiachen.github.io/vue-element-admin/

            
            
            
            
            Element: https://element.eleme.io/
            
            
            
                
            uniapp官网: https://uniapp.dcloud.io
            
            
            
                
            laravel文档:  https://learnku.com/docs/laravel/7.x
                
              
            
            

            easywechat文档: https://www.easywechat.com/docs/4.1/mini-program/app_code
            
            
     
            guzzle文档: https://guzzle-cn.readthedocs.io/zh_CN/latest/index.html
            
            
      
            Passport OAuth 认证文档: https://learnku.com/docs/laravel/7.x/passport/7515
            
        
            vue2.0文档: https://cn.vuejs.org/v2/guide/
            
            
            ColorUI GitHub: https://github.com/weilanwl/ColorUI

        5. 数据库文件


          文件位置:/www/wwwroot/139.155.45.209:84/backend/storage/app/laravel-vue-cms.sql

        6. 执行 PHP artisan storage:link symlink (): No such file or directory
            
           切记要 根目录执行 \rm public/storage 再执行 php artisan storage:link
     

    淘宝收藏:800+,已购人数:1000+

    点我购买(自动发货,无需等待)

     

    展开全文
  • 主要介绍了Laravel框架实现的rbac权限管理操作,结合实例形式分析了Laravel框架权限控制rbac相关数据库创建、读写及权限判断等操作技巧,需要的朋友可以参考下
  • laravel 自己开发 rbac权限控制
  • laravel的RBAC权限设计

    2021-08-26 09:23:12
    一、后台权限设计RBAC RBAC:role base access control 基于角色的用户访问权限控制权限,就是权限分配给角色,角色又分配给用户。 1.1 角色与权限表的设计 如果涉及到一个用户有多个角色的话,那建议采用如下...
  • Laravel Vue admin 管理系统项目简介laravel-vue-admin 是一套基于 Vue 全家桶(Vue2.x + Vue-router2.x + Vuex)+ Laravel前后端分离框架。 脚手架构建也可以通过 vue 官方的 vue-cli 脚手架工具构建 实现了一般...
  • 一款 PHP 语言基于 Laravel5.8 + Layui + MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了...
  • 小程序前后端交互使用JWT

    千次阅读 2021-08-07 03:38:19
    前言现在很多Web项目都是前后端分离的形式,现在浏览器的功能也是越来越强大,基本上大部分主流的浏览器都有调试模式,也有很多抓包工具,可以很轻松的看到前端请求的URL和发送的数据信息。如果不增加安全验证的话,...
  • 前后端分离使用 Token 登录解决方案

    千次阅读 2021-01-12 04:10:18
    这篇文章写一下前后端分离下的登录解决方案,目前大多数都采用请求头携带 Token 的形式。开写之前先捋一下整理思路:首次登录时,后端服务器判断用户账号密码正确之后,根据用户id、用户名、定义好的秘钥、过期时间...
  • 后端部分虽然是PHP的,但是程序汪建议有研究精神的朋友完全可以重构成Java版本,自己搭建框架的能力也就锻炼出来了 新产品发布推荐 现已推出 [ 萤火商城多端版V2.0 ],新系统更轻量级、高性能、前后端分离,且支持...
  • 一款 PHP 语言基于 Laravel5.8 + Layui + MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了...
  • php服务器如何做前后端分离?

    千次阅读 2021-03-23 12:02:09
    php代码写在HTML中,不存在纯粹的PHP文件和HTML文件,这就是前后端的不分离,这样会导致开发效率大大降低。所以我们就需要将PHP服务器与前端分离,实现前后端分离。前后端分离优点:1、为优质产品打造精益团队2、...
  • 使用laravel实现的discuz论坛 项目目标: 替换掉discuz论坛的前端,与discuz的数据库保持兼容 项目roadmap 实现基本的登录登出功能(登出还存在bug) 实现内容调取(基本页面...事情了,更不用说那耦合严重的前后端代码。
  • 前后端分离历史

    千次阅读 2020-10-24 01:03:01
    文章目录前后端分离前后端分离的历史前后端合并前后端耦合前后端“分离”大厂的方案前后端分离的理想方式前后端分离的好处前后端分离的挑战总结前端历史前端开发的历史和趋势什么是前端前后端不分的时代后端 MVC 的...
  • About一个前后端分离的 laravel5.4 + vue2 的项目,网站主旨是分享原创诗文--诗词小筑。前台页面是由vue2编写的,后端提供api接口。而后台管理页面是由laravel的blade模板与vue2共同完成。因此我将它们放在两个仓库...
  • 小项目需要前后端分离吗?

    千次阅读 2021-10-22 00:34:21
    有网友提问:听说前后端分离是为了让前端人员专注前端,后端人员专注后端,但如果项目比较简单,并且总共也就几个人在开发,前后端分离还有意义吗?今天我们邀请了 4 名淘系技术的前端以及后端工程师...
  • 技术层面上来说,使用前后端分离进行制作,可以将前端以及后端的知识都涵盖到。对于前端的路由,信息维护,脚手架的搭建,ui组件的使用,接口的请求与封装都能够讲解到。 对于后端,本课程对php原生代码以及工作中...
  • Web前后端:如何分离,如何解耦?

    千次阅读 多人点赞 2020-10-09 14:23:17
    摘要:在本文中我们一起来探讨一下为什么要在软件开发中进行前后端的分离,如何做到前后端分离,如何解耦。 简单地说,就是要把复杂的问题简单化,把一个从0到N的问题转化为N个0到1的问题。另一个相近的说法就是...
  • 什么是前后端分离

    2020-02-20 09:24:29
    一个正常的软件开发可以简化成四大步:设计、开发、测试、部署,所以真正的前后端分离应该渗透到每个步骤中去。 第一个阶段:设计阶段 设计的第一个层面当然是系统设计:后端系统设计较好理解,主要是系统架构、...
  • 前后端入门

    2021-12-14 11:35:33
    文章目录前后端详解什么是前端?什么是后端?前端和后端的联系前后端 Vs 前后台 如何区分?前后端开发详解前端 Vs 后端 开发内容前端 Vs 后端 技术栈前端 Vs 后端 岗位区别 前后端详解 什么是前端?什么是后端? ...
  • 在网站前后端设计时候,在后端这块,后端的每一模块对应的表,进行表的管理,增删改查。 使用 route() 全局辅助方法灵活管理 举例,商品表 商品模型 商品控制器 商品视图 Route :: get( ' /goods ' , ' ...
  • 浅谈前后端分离

    2020-07-09 11:53:39
    一个正常的软件开发可以简化成四大步:设计、开发、测试、部署,所以真正的前后端分离应该渗透到每个步骤中去。 第一个阶段:设计阶段 设计的第一个层面当然是系统设计:后端系统设计较好理解,主要是系统架构、...
  • Laravel 的配置文件 config/session.php 中可以设置 Session Cookie Name,比如这个项目中设置名称为“sns_session”:/*|--------------------------------------------------------------------------| Session...
  • laravel5.6框架基础入门精讲 多年一线互联网开发实战以及培训经验,对...
  • 前端我选择了vue+element ui,后端就选择了tp6,springboot 和 laravel就留来下个系统开撸了。 完成后,页面大体如下 小结下应用到的技术点: 后端应用到中间件,完成token校验、跨域校验、增删改写日志,路由...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 759
精华内容 303
关键字:

laravel前后端设计