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

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

获取参数规则

数据库设置

注册

A层

/**
     * 用户注册
     * @desc 若用户名存在,throw -1
     */
    public function userRegister() {

        $Domain_User = new Domain_User();
        //检查username是否存在
        $Domain_User->userCheck($this->username);
        return $Domain_User->userAdd($this);
    }

D层

/**
     * @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层

/**
     * @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层

/**
     * 用户登录
     * @desc 返回用户id
     */
    public function userLogin() {
        $Domain_User = new Domain_User();
        $Domain_User->userCheck($this->username);
        return $Domain_User->userLogin($this);
    }

D层

/**
     * @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层

/**
     * @param $data
     * 用户登录
     */
    public function userLogin($data){
        return $this->getORM()->select('id')->where(array('username'=>$data->username))->where(array('password'=>$data->password))->fetch();
    }

获取用户信息

A层

/**
     *获取用户信息
     * @desc 返回用户id信息
     * @return mixed
     */
    public function getInfo() {
        $Domain_User = new Domain_User();
        return $Domain_User->getInfo($this->id);
    }

D层

/**
     * @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层

/**
     * @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)交流学习心得。

原文发布于微信公众号 - 程序员的碎碎念(gh_53e607dd4782)

原文发表时间:2018-02-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3095
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

30810
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6658
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4818
来自专栏张善友的专栏

Silverlight + Model-View-ViewModel (MVVM)

     早在2005年,John Gossman写了一篇关于Model-View-ViewModel模式的博文,这种模式被他所在的微软的项目组用来创建Expr...

2938
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2132
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4688
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2527
来自专栏魂祭心

原 canvas绘制clock

4034
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2506

扫码关注云+社区