Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >π框架之实战项目(代码分享)

π框架之实战项目(代码分享)

作者头像
benny
发布于 2018-03-06 10:51:37
发布于 2018-03-06 10:51:37
90200
代码可运行
举报
运行总次数:0
代码可运行

通过之前的学习,本文主要介绍一下实现用户的登录、注册等功能的接口代码,让大家通过小实战来感悟phalapi框架的神奇之处。(以下代码均可右滑)

获取参数规则

数据库设置

注册

A层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * 用户注册
     * @desc 若用户名存在,throw -1
     */
    public function userRegister() {

        $Domain_User = new Domain_User();
        //检查username是否存在
        $Domain_User->userCheck($this->username);
        return $Domain_User->userAdd($this);
    }
D层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * @param $data
     * 用户注册
     * @return int
     * @throws BadRequestException
     */
    public function userAdd($data){
        $Model_User = new Model_User();
        $uid = $Model_User->userAdd($data);
        if (!$uid){
            throw new BadRequestException('error userAdd',-1);
        }
        return (int)$uid['id'];
    }
M层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * @param $data
     * 用户注册
     * @return $result
     */
    public function userAdd($data){
        return $result = $this->getORM()->insert(array(
            'username'      =>  $data->username,
            'password'      =>  $data->password,
            'phone'         =>  $data->phone,
            'create_date'   =>  time()
        ));

    }

登录

A层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * 用户登录
     * @desc 返回用户id
     */
    public function userLogin() {
        $Domain_User = new Domain_User();
        $Domain_User->userCheck($this->username);
        return $Domain_User->userLogin($this);
    }
D层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * @param $data
     * 用户登录
     * @return $id
     * @throws BadRequestException
     */
    public function userLogin($data){
        $Model_User = new Model_User();
        $id = $Model_User->userLogin($data);
        if (!$id){
            throw new BadRequestException('error username or password wrong',-1);
        }
        return $id;
    }
M层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * @param $data
     * 用户登录
     */
    public function userLogin($data){
        return $this->getORM()->select('id')->where(array('username'=>$data->username))->where(array('password'=>$data->password))->fetch();
    }

获取用户信息

A层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     *获取用户信息
     * @desc 返回用户id信息
     * @return mixed
     */
    public function getInfo() {
        $Domain_User = new Domain_User();
        return $Domain_User->getInfo($this->id);
    }
D层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * @param $id
     * 根据id获取用户信息
     * @return $user
     * @throws BadRequestException
     */
    public function getInfo($id){
        $Model_User = new Model_User();
        $user = $Model_User->getInfo($id);

        if (!$user){
            throw new BadRequestException('error id wrong',-1);
        }
        return $user;
    }
M层
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * @param $id
     * @根据id获取用户信息
     */
    public function getInfo($id){
        //$id=(int)$id;
        return $this->getORM()->where(array('id'=>$id))->fetch();
    }
    public function getUserList(){
        return $this->getORM()->select('*');
    }

在这里,小编对代码进行了部分注释,希望对大家的学习有所帮助,也希望有问题加我微信(wzc88czw)交流学习心得。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员的碎碎念 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Yii框架应用程序整合Ucenter实现同步注册、登录和退出等
如今很多网站都要整合论坛程序,而康盛的Discuz系列产品往往是首选。然后就有了整合用户的需要,康盛提供了Ucenter架构,方便对不同的应用程序进行单点登录整合。 进来我尝试将ucenter整合到Yii网站中,获得了成功,虽然登录同步程序不是很妥当,基本使用没有问题了。我将继续改进。下面说说步骤: 下载安装ucenter和discuz,我使用的是ucenter1.6和discuz7.2,由于7.2自带的uc_client是旧版本,所以需要覆盖一下1.6版本。 复制一份uc_client文件夹到 prote
joshua317
2018/04/16
1.9K0
SpringSecurity结合JwtToken验证(后端部分)
简介:本文在SpringSecurity基础公共之上,整合JwtToken功能,本文是后端部分。
GeekLiHua
2025/01/21
2350
SpringSecurity结合JwtToken验证(后端部分)
sso单点登录与Jsonp
SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 例如天猫和淘宝 登陆一个网站 另一个网站不需要登陆
周杰伦本人
2023/10/12
3410
Web-第二十一天 Web商城实战一【悟空教程】
public class BaseServlet extends HttpServlet {
Java帮帮
2018/07/27
9180
Web-第二十一天 Web商城实战一【悟空教程】
springboot mybatis项目搭建_idea配置javaweb开发环境
利用闲余时间想自己搭建一个springboot+mybatis的项目,提升一下自己对项目的了解,毕竟自己还是一个小白,在这里为自己创建项目的过程做一个记录,以便以后回忆。同时将搭建中遇到的问题也在这里做记录。如有遇到同样问题的同学,希望能给你一下借鉴。
全栈程序员站长
2022/10/01
7770
springboot mybatis项目搭建_idea配置javaweb开发环境
Nest.js 实战系列第二篇-实现注册、扫码登陆、jwt认证等
大家好我是考拉🐨,这是 Nest.js 实战系列第二篇,我要用最真实的场景让你学会使用 Node 主流框架。 上一篇中 【Nest.js入门之基本项目搭建】 带大家入门了Nest.js, 接下来在之前的代码上继续进行开发, 主要两个任务:实现用户的注册与登录。 在实现登录注册之前,需要先整理一下需求, 我们希望用户有两种方式可以登录进入网站来写文章, 一种是账号密码登录,另一种是微信扫码登录。文章内容大纲 接着上章内容开始... 前面我们创建文件都是一个个创建的, 其实还有一个快速创建Contoller
coder_koala
2021/12/13
10.5K0
Nest.js 实战系列第二篇-实现注册、扫码登陆、jwt认证等
基于uniapp原生组件uni-ui 做一个登录注册与个人中心(后端篇)
本文使用springboot+mybatis-plus实现用户表的后端代码,包含加密功能。
GeekLiHua
2025/01/21
2270
基于uniapp原生组件uni-ui 做一个登录注册与个人中心(后端篇)
Laravel源码解析之用户认证系统(二)
上一节我们介绍了Laravel Auth系统的基础知识,说了他的核心组件都有哪些构成,这一节我们会专注Laravel Auth系统的实现细节,主要关注 Auth也就是 AuthManager是如何装载认证用的看守器(Guard)和用户提供器(UserProvider)以及默认的用户注册和登录的实现细节,通过梳理这些实现细节我们也就能知道应该如何定制Auth认证来满足我们自己项目中用户认证的需求的。
KevinYan
2019/10/13
2.4K0
RuoYi框架集成DingDing登录
图片图片图片图片集成概览login.js:api定义钉钉登录接口user.js:在钉钉登录成功后,设置tokenlogin.vue:使用钉钉的默认集成页面进行钉钉登录DingDingService.java(以及它的实现类 DingDingServiceImpl.java):访问钉钉的服务接口SysLoginController.java:定义钉钉登录接口pom.xml:添加钉钉服务依赖jar包SecurityConfig.java:将钉钉登录接口设置为可匿名访问UserDetailsServiceImpl
在下是首席架构师
2023/03/30
2.9K3
RuoYi框架集成DingDing登录
yii2 restful 风格搭建(二)接口认证
1、HTTP 基本认证: \yii\filters\auth\HttpBasicAuth
botkenni
2019/09/02
1.4K0
discuz X3登录流程分析
公司最近要将discuz论坛升级至最新版discuz X3。但是公司要用自己的通行证同步登陆。故必须要知道discuzX3的登录流程及原理,才能进行二次开发。
py3study
2020/01/07
1.2K0
「小程序JAVA实战」小程序的视频展示页面初始化(63)
PS:拦截器excludePathPatterns可以不拦截,分析业务,那些需要登录后才可以获得,那些不需要登录就可以看到。
IT架构圈
2019/07/08
1.2K0
「小程序JAVA实战」小程序的视频展示页面初始化(63)
在 Java Spring 应用中使用 ASP.NET Core Identity 的数据库进行用户认证
ASP.NET Core Identity 拥有完整的的用户认证、角色以及授权、开放认证的接口规范, 并且默认使用自家的 EntityFramework 进行了实现。
beginor
2021/03/30
1.3K0
在 Java Spring 应用中使用 ASP.NET Core Identity 的数据库进行用户认证
使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
如果大家觉得有用的话,可以关注我下面的微信公众号,极客李华,我会在里面更新更多行业资讯,企业面试内容,编程资源,如何写出可以让大厂面试官眼前一亮的简历等内容,让大家更好学习编程,我的抖音,B站也叫极客李华。大家喜欢也可以关注一下
GeekLiHua
2025/01/21
2810
使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
学习如何使用Shiro,从架构谈起,到框架集成!
要学习如何使用Shiro必须先从它的架构谈起,作为一款安全框架Shiro的设计相当精妙。Shiro的应用不依赖任何容器,它也可以在JavaSE下使用。但是最常用的环境还是JavaEE。下面以用户登录为例:
java思维导图
2019/05/08
6630
学习如何使用Shiro,从架构谈起,到框架集成!
购物车原理以及实现
可以看到,购物车这样一个功能模块,在各种购物类APP或者web应用中绝对是必不可少的东西.不论在大学中的课程设计,还是在实际的项目开发中,绝对非常重要且有些复杂的内容. 在实际操作中,身边有很多的小伙伴遇到编写购物车的代码的时候,有时候真的是一脸懵逼,总是搞不明白设计的思路,这就是本文写作的原因. 所以,本文适合搞不清楚购物车实现原理,知道原理但是实际编码不知道如何下手的小伙伴,我将给出一个思路以及实际的代码供大家参考. 在本文中,我将会用尽可能简单的句子,表达出我想表达的意思.废话不多说,开始我们的购物车实战!
roobtyan
2019/02/21
6.6K0
购物车原理以及实现
【实战】Tp5+小程序(三)--微信登录与令牌
ThinkPHP5 从入门到深入学习,结合实战项目深入理解 ThinkPHP5 的特性和使用方法。深入学习 api 开发,学习微信登录和令牌的相关知识,并理解微信登录流程,完成与微信开放 api 之间的数据交互,完善项目的相应功能。 理解第三方登录授权的 code 和 token 交互过程。
程序小工
2018/09/12
8.9K0
【实战】Tp5+小程序(三)--微信登录与令牌
【腾讯云Cloud Studio实战训练营】如何轻松实现一个Springboot+Vue学生管理系统及我的使用感受
在这个博客中,我将介绍如何使用Cloud Studio打造一个基于Spring Boot和Vue的学生管理系统。该系统旨在提供一个简单而功能丰富的平台,用于管理学生的信息和课程,并提供一系列功能来增强教育管理的效率和便捷性。
Maynor
2023/07/24
7480
【腾讯云Cloud Studio实战训练营】如何轻松实现一个Springboot+Vue学生管理系统及我的使用感受
开源项目蘑菇博客是如何集成第三方登录
之前有小伙伴对蘑菇博客集成的第三方登录比较感兴趣,因此本篇主要讲解的是蘑菇博客项目是如何集成第三方登录。陌溪在做第三方登录的时候,也没有上来就造轮子,而是先在 Gitee 中找到了一个第三方登录的开源库:JustAuth。
陌溪
2021/03/22
7230
开源项目蘑菇博客是如何集成第三方登录
基于 Axios 封装一个完美的双 token 无感刷新
用户登录之后,会返回一个用户的标识,之后带上这个标识请求别的接口,就能识别出该用户。
神说要有光zxg
2023/08/28
1.7K0
基于 Axios 封装一个完美的双  token 无感刷新
推荐阅读
相关推荐
Yii框架应用程序整合Ucenter实现同步注册、登录和退出等
更多 >
LV.1
腾讯音乐娱乐集团企业IT开发三组支持组员工
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验