thinkphp5.0学习笔记(二)API后台处理与命名空间

时间:2022-06-08 07:01:39

命名空间

先来看命名空间吧;

命名空间是学习TP的基础,

<?php
namespace app\lian\c1;
class yi{
public $obj = "这是第一个空间里面的内容";
}
function fangfa()
{
echo "第一个方法";
}


namespace app\lian\c2;
class er{
public $obj = '这是第二个空间里面的内容';
}

function fangfa()
{
echo "第二个方法";
}



?>

 

namespace就是命名空间的意思,写了两个命名空间,相当于是两个房间,防止了我的两个方法的重名

在第一个空间里跑方法是第一个方法,在第二个空间跑的肯定是第二个方法,如果我想在第二个空间里跑第一个方法。那就得用到:

引入空间:

引入 = use;

在一个命名空间里面访问其他的空间内容,就需要引入空间了;

namespace app\lian\c1;
class yi{
public $obj = "这是第一个空间里面的内容";
}
function fangfa()
{
echo "第一个方法";
}


namespace app\lian\c2;
class er{
public $obj = '这是第二个空间里面的内容';
}

function fangfa()
{
echo "第二个方法";
}

use app\lian\c1;
c1\fangfa();

此时因为我在空间2里面引入了空间1;

所以跑出来的结果就是:

thinkphp5.0学习笔记(二)API后台处理与命名空间

把类的实例化也可以限定住他

<?php
namespace app\lian\c1;
class yi{
public $obj = "这是第一个空间里面的内容";
}
function fangfa()
{
echo "第一个方法";
}


namespace app\lian\c2;
class yi{
public $obj = '这是第二个空间里面的内容';
}

function fangfa()
{
echo "第二个方法";
}

use app\lian\c1;
//c1\fangfa();
$yi = new c1\yi();
echo $yi->obj;

输出则是:

thinkphp5.0学习笔记(二)API后台处理与命名空间

 

 

 

后台处理:

本文为公司制作API接口后台的小结!

1.命名注意事项:

不要使用易混淆的名字,如index,index01...

我喜欢用拼音...

比如:

 public function zhuce(Request $request)

2.数据库文件修改:

去database.php里把数据得前缀去掉;

thinkphp5.0学习笔记(二)API后台处理与命名空间

 

3.获取请求的值:

$data = input();
$uid = $uid['uid']; //获取uid
$tel = $data['tel']; //获取电话号码
$pwd = $data['password'];//获取输入的密码
$macaddress = $data['macaddress'];//获取mac地址

 

 

4.操作数据库:

(1)原生操作:

 $mi = Db::query("select password from users where uid= {$uid}");

(2)name查询:

  $users = Db::name('users')
->where('uid','=', $uid)//条件
->select();

5.返回JSON数组:

    //       返回json数组 
$aa = array(
'code' =>$code,
'msg' => array(
'users'=>$users
)
,
);

输出:

  echo json_encode($aa,256); 

256为防止字符乱码;