thinkphp5.0 데이터베이스 운영 사례 연구

jacklove
풀어 주다: 2023-04-01 09:16:02
원래의
3454명이 탐색했습니다.

1. 지원되는 데이터베이스 유형

Mysql, SqlServer, pgSQL, Sqlite 및 기타 데이터베이스 지원

2. 데이터베이스 연결 방법

1. 구성 파일 정의

a.
프로젝트 applicationdatabase.php
c.

return [    // 数据库类型
    'type'            => 'mysql',    // 服务器地址
    'hostname'        => '127.0.0.1',    // 数据库名
    'database'        => '',    // 用户名
    'username'        => 'root',    // 密码
    'password'        => '',    // 端口
    'hostport'        => '3306',
];
로그인 후 복사
로그인 후 복사

사용 방법 2. 배열 사용

// 实例化系统数据库类$DB=new Db;// 查询数据$data=$DB::table("user")->select();//使用sql语句$data=$DB::query("select * from user");
로그인 후 복사
로그인 후 복사

2. 에에

3
//Db类中的connect方法:数据库初始化 并取得数据库类实例        $DB=Db::connect([    // 数据库类型
    'type'            => 'mysql',    // 服务器地址
    'hostname'        => '127.0.0.1',    // 数据库名
    'database'        => 'edu',    // 用户名
    'username'        => 'root',    // 密码
    'password'        => '',    // 端口
    'hostport'        => '3306',
]);
로그인 후 복사
로그인 후 복사

3. 모델 클래스 정의

1. 데이터 모델 생성

a. 수동 생성1. 2.

3. 파일 아래에 새 파일 User.php를 만듭니다.

//Db类中的connect方法:数据库初始化 并取得数据库类实例$DB=Db::connect("mysql://root:@127.0.0.1:3306/edu#utf8");
로그인 후 복사

  • 2. 컨트롤러에서 사용하는 방법

    $data=$DB->table('user')->select();
    로그인 후 복사

  • 3. 데이터 쿼리


  • 1.tp 방식

    <?php
        // 声明命名空间(位置)
        namespace app\index\model;    // 声明控制器
        use think\Model;    class User extends Model
        {
        }?>
    로그인 후 복사
2. SQL 문 사용

<?php
    // 声明命名空间(位置)
    namespace app\index\model;    // 声明控制器
    use think\Model;    class User extends Model
    {
        // 使用数组连接数据库
        protected $connection=[            // 数据库类型
            &#39;type&#39;            => &#39;mysql&#39;,            // 服务器地址
            &#39;hostname&#39;        => &#39;127.0.0.1&#39;,            // 数据库名
            &#39;database&#39;        => &#39;edu&#39;,            // 用户名
            &#39;username&#39;        => &#39;root&#39;,            // 密码
            &#39;password&#39;        => &#39;&#39;,            // 端口
            &#39;hostport&#39;        => &#39;3306&#39;,
        ];        //使用字符串
        protected $connection="mysql://root:@127.0.0.1:3306/edu#utf8";
    }?>
로그인 후 복사

4. 데이터베이스 기본 사용

쿼리(쿼리 작업) 및 실행(쓰기 작업) 지원

0. 지정한 SQL 문을 가져옵니다

// 使用模型定义连接public function data2(){
    echo "使用模型连接数据库";    $user=new \app\index\model\User();
    dump($user::all());
}
로그인 후 복사

1. Query

// 实例化系统数据库类$DB=new Db;// 查询数据$data=$DB::table("user")->select();
로그인 후 복사

3. 삭제

//使用sql语句$data=$DB::query("select * from user");
로그인 후 복사

.
// 获取执行的sql语句echo Db::getLastSql();
로그인 후 복사
로그인 후 복사

5. 데이터 처리

1. 쿼리 작업

$data=Db::query("select * from user");
$data=Db::query("select * from user where id >=? and id<=?",[5,8]);
로그인 후 복사
로그인 후 복사

2. 삽입 작업

$data=Db::execute("insert into user value(null,&#39;user1&#39;,&#39;123&#39;,&#39;18&#39;)");
$data=Db::execute("insert into user value(null,?,?,?)",[&#39;user2&#39;,&#39;123&#39;,&#39;20&#39;]");
$data=Db::execute("insert into user value(null,:name,:pass,:age)",[&#39;name&#39;=>&#39;user3&#39;,&#39;pass&#39;=>&#39;123&#39;,&#39;age&#39;=>&#39;20&#39;]);
로그인 후 복사
로그인 후 복사

3. 데이터 업데이트

$data=Db::execute("delete from user where id=10");
$data=Db::execute("delete from user where id>?",[15]);
$data=Db::execute("delete from user where id>:id",[&#39;id&#39;=>10]);
로그인 후 복사
로그인 후 복사

4. 트랜잭션 메커니즘

1. MySQL 트랜잭션

요구 사항 데이터 엔진은 반드시 InnoDB 핵심 사항: 조작할 데이터 테이블에서 명령문 실행: ALTER TABLE user ENGINE=INNODB;

2

1을 사용합니다. . 트랜잭션 자동 제어

$data=Db::execute("update user set age=&#39;20&#39; where id=?",[15]);
로그인 후 복사
로그인 후 복사
2. 트랜잭션 수동 제어

1.table方法查询数据
    // 查询所有数据
    $data=Db::table("user")->select();
    // 查询一条数据
    $data=Db::table("user")->find();
2.name方法查询数据
    //name方法会自动添加上配置文件中的表前缀,与配置文件有关
    $data=Db::name("user")->select();
    $data=Db::name("user")->find();
3.助手函数
    $data=db("user")->select();
    $data=db("user")->find();
4.where条件匹配
    $data=Db::table("user")->where("id",">",5)->select();
    $data=Db::table("user")->where("id","<",11)->where("id",">",8)->select();
    $data=Db::table("user")->where("name","like","%tian%")->select();
    $data=Db::table("user")->where("name","wanlisha")->where("pass","wanlisha")->select();
5.whereor条件查询
    $data=Db::table("user")->where("id","<=",&#39;21&#39;)->whereOr("id","<=",5)->select();
    $data=Db::table("user")->where("name",&#39;like&#39;,"%tian%")->whereOr("name",&#39;like&#39;,&#39;%wanli%&#39;)->select();
    $data=Db::table("user")->where("name|pass",&#39;like&#39;,"%tian%")->select();//
6.limit截取数据
    $data=Db::table("user")->limit(2)->select();
    $data=Db::table("user")->limit(0,2)->select();
7.order实现排序
    $data=Db::table("user")->order(&#39;id&#39;)->select();
    $data=Db::table("user")->order("id","desc")->select();
8.field 设置查询字段
    //设置查询字段
        $data=Db::table("user")->field(&#39;name,pass&#39;)->select();
        $data=Db::table("user")->field([&#39;name&#39;,&#39;pass&#39;])->select();
    // 给name起别名
        $data=Db::table("user")->field(&#39;name uname,pass&#39;)->select();
        $data=Db::table("user")->field([&#39;name&#39;=> &#39;uname&#39;,&#39;pass&#39;])->select();
    // sql的系统函数
        $data=Db::table("user")->field("count(*) as tot")->select();
        $data=Db::table("user")->field(["count(*)"=>"tot"])->select();
    //排除字段
        $data=Db::table("user")->field("name,pass",true)->select();
        $data=Db::table("user")->field(["name","pass"],true)->select();
9.Page实现分页效果
    $data=Db::table("user")->page(3,5)->select();
    $data=Db::table("user")->page("3,5")->select();
10.分组聚合
    $data=Db::table("user")->field("pass,count(*) tot")->group("pass")->select();
11.having过滤
    // 只能结合分组使用
        $data=Db::table("user")->field("pass,count(*) tot")->having("tot >=4")->group("pass")->select();
12.多表查询
    // 内敛实现数据库连接
        $data=Db::query("select product.*,fenlei.name tname from fenlei,product where product.cid=fenlei.id");
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id")->select();
        // 右链接
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;right&#39;)->select();
        // 左链接
        $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;left&#39;)->select();
13.别名使用-给表起别名
    $data=Db::table("product")->alias(&#39;p&#39;)->field("p.*,f.name fname")->join("fenlei f","p.cid=f.id",&#39;left&#39;)->select();
14.union集合
    $data=Db::field("name")->table("user")->union("select name from product")->select();
15.参数绑定bind为了防止sql注入
    //自动轻微防止sql注入
    $data=Db::table("user")->where("id",$id)->delete(); 
    //不防注入 建议不要使用原生的sql语句
    $data=Db::execute("delete from user where id=$id");
    //防注入
    $data=Db::table("user")->where("id",":id")->bind([&#39;id&#39;=>[$id,\PDO::PARAM_INT]])->delete();
16.统计数据
        $data=Db::table("user")->max("age");
        $data=Db::table("user")->min("age");
        $data=Db::table("user")->avg("age");
        $data=Db::table("user")->sum("age");
        $data=Db::table("user")->count();
17.视图查询(多表查询)
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid")->select();
        // 左连接
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","right")->select();
        // 右连接
        $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","left")->select();
로그인 후 복사
로그인 후 복사
1.插入单条数据
    // 数组中的字段名必须和数据库中字段名一致
        $data=[
            &#39;name&#39;=>&#39;张三&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ];
        // 返回值:影响行数
        $code=Db::table("user")->insert($data);
        $code=db("user")->insert($data);
2.插入多条数据
    $data=[
        [
            &#39;name&#39;=>&#39;张三1&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ],
        [
            &#39;name&#39;=>&#39;张三2&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ]
    ];
    //返回值:影响行数 
    $code=Db::table("user")->insertAll($data);
    $code=db("user")->insertAll($data);
3.获取最后一次插入的id
    $data=[
        &#39;name&#39;=>&#39;张三1&#39;,
        &#39;pass&#39;=>&#39;123&#39;,
        &#39;age&#39;=>18
    ];
    $code=Db::table("user")->insertGetId($data); 
    $code=db("user")->insertGetId($data);
로그인 후 복사
로그인 후 복사

1. 지원되는 데이터베이스 유형

Mysql, SqlServer, pgSQL, Sqlite 및 기타 데이터베이스 지원


데이터베이스

1. 구성 파일 정의

a. 구성 파일 디렉터리 Project applicationdatabase.php

b 구성 방법

1.修改数据
    $code=Db::table("user")->where("id",">",5)->update(["age"=>111,"pass"=>&#39;111&#39;]);
    $code=Db::table("user")->update(["id"=>5,"age"=>60]);
    code=Db::table("user")->where("id",5)->setField("age",111);
2.设置自增
    $code=Db::table("user")->where("id",6)->setInc("age");
3.设置自减
    $code=Db::table("user")->where("id",7)->setDec("age");
    $code=Db::table("user")->where("id",5)->setDec("age",3);
로그인 후 복사
로그인 후 복사

.
2. 구성

1. 배열 사용

1.删除一条数据
    $code=Db::table("user")->where("id",6)->delete();
    $code=Db::table("user")->delete(7);
2.删除多条数据
    $code=Db::table("user")->where("id in(1,2)")->delete();
    $code=Db::table("user")->delete([2,3]);
3.删除区间数据
    $code=Db::table("user")->where("id>0 and id<5")->delete();
로그인 후 복사
로그인 후 복사

3. 사용 방법

Db::transaction(function(){    // 删除一条数据    Db::table("user")->delete(11);    Db::table("user")->deletes(40);});
로그인 후 복사
로그인 후 복사

1. 데이터 모델 생성

a.

b. 수동 생성 1. 데이터 모델 디렉터리(프로젝트 애플리케이션indexmodel)를 엽니다. 2. 디렉터리 파일
3에 새 파일인 User.php를 만듭니다.

// 手动控制事务
    // 开启事务
    Db::startTrans();    try{        // 删除数据
        $a=Db::table("user")->delete(11);        // 判断是否删除成功
        if(!$a){            throw new  \Exception("删除11没有成功");
        }        // 删除不存在的数据
        $b=Db::table("user")->delete(12);        if(!$b){            throw new  \Exception("删除12没有成功");
        }        // 执行提交操作
        Db::commit();`这里写代码片`        echo "成功";
    }catch(\Exception $e){        // 回滚事务
        echo "失败";
        Db::rollback();
        dump($e->getmessage());
    }
로그인 후 복사

2. 설정

    // 开启事务
    Db::startTrans();    // 删除数据
    $a=Db::table("user")->delete(1);    $b=Db::table("user")->delete(2);    // 判断条件
    if($a && $b){        // 提交事务
        Db::commit();
    }else{
        Db::rollback();
    }
로그인 후 복사
3. 컨트롤러에서 사용하는 방법
return [    // 数据库类型
    &#39;type&#39;            => &#39;mysql&#39;,    // 服务器地址
    &#39;hostname&#39;        => &#39;127.0.0.1&#39;,    // 数据库名
    &#39;database&#39;        => &#39;&#39;,    // 用户名
    &#39;username&#39;        => &#39;root&#39;,    // 密码
    &#39;password&#39;        => &#39;&#39;,    // 端口
    &#39;hostport&#39;        => &#39;3306&#39;,
];
로그인 후 복사
로그인 후 복사

3. 데이터 쿼리

1 .tp 메소드

// 实例化系统数据库类$DB=new Db;// 查询数据$data=$DB::table("user")->select();//使用sql语句$data=$DB::query("select * from user");
로그인 후 복사
로그인 후 복사

2 sql 문 사용

//Db类中的connect方法:数据库初始化 并取得数据库类实例        $DB=Db::connect([    // 数据库类型
    &#39;type&#39;            => &#39;mysql&#39;,    // 服务器地址
    &#39;hostname&#39;        => &#39;127.0.0.1&#39;,    // 数据库名
    &#39;database&#39;        => &#39;edu&#39;,    // 用户名
    &#39;username&#39;        => &#39;root&#39;,    // 密码
    &#39;password&#39;        => &#39;&#39;,    // 端口
    &#39;hostport&#39;        => &#39;3306&#39;,
]);
로그인 후 복사
로그인 후 복사
4. 데이터베이스

    쿼리(쿼리 작업) 및 실행(쓰기 작업) 지원
  • 0.获取指定sql语句

    // 获取执行的sql语句echo Db::getLastSql();
    로그인 후 복사
    로그인 후 복사

    1.查询

    $data=Db::query("select * from user");
    $data=Db::query("select * from user where id >=? and id<=?",[5,8]);
    로그인 후 복사
    로그인 후 복사

    2.增加

    $data=Db::execute("insert into user value(null,&#39;user1&#39;,&#39;123&#39;,&#39;18&#39;)");
    $data=Db::execute("insert into user value(null,?,?,?)",[&#39;user2&#39;,&#39;123&#39;,&#39;20&#39;]");
    $data=Db::execute("insert into user value(null,:name,:pass,:age)",[&#39;name&#39;=>&#39;user3&#39;,&#39;pass&#39;=>&#39;123&#39;,&#39;age&#39;=>&#39;20&#39;]);
    로그인 후 복사
    로그인 후 복사

    3.删除

    $data=Db::execute("delete from user where id=10");
    $data=Db::execute("delete from user where id>?",[15]);
    $data=Db::execute("delete from user where id>:id",[&#39;id&#39;=>10]);
    로그인 후 복사
    로그인 후 복사

    4.修改

    $data=Db::execute("update user set age=&#39;20&#39; where id=?",[15]);
    로그인 후 복사
    로그인 후 복사

    五、TP数据处理

    1.查询操作

    1.table方法查询数据
        // 查询所有数据
        $data=Db::table("user")->select();
        // 查询一条数据
        $data=Db::table("user")->find();
    2.name方法查询数据
        //name方法会自动添加上配置文件中的表前缀,与配置文件有关
        $data=Db::name("user")->select();
        $data=Db::name("user")->find();
    3.助手函数
        $data=db("user")->select();
        $data=db("user")->find();
    4.where条件匹配
        $data=Db::table("user")->where("id",">",5)->select();
        $data=Db::table("user")->where("id","<",11)->where("id",">",8)->select();
        $data=Db::table("user")->where("name","like","%tian%")->select();
        $data=Db::table("user")->where("name","wanlisha")->where("pass","wanlisha")->select();
    5.whereor条件查询
        $data=Db::table("user")->where("id","<=",&#39;21&#39;)->whereOr("id","<=",5)->select();
        $data=Db::table("user")->where("name",&#39;like&#39;,"%tian%")->whereOr("name",&#39;like&#39;,&#39;%wanli%&#39;)->select();
        $data=Db::table("user")->where("name|pass",&#39;like&#39;,"%tian%")->select();//
    6.limit截取数据
        $data=Db::table("user")->limit(2)->select();
        $data=Db::table("user")->limit(0,2)->select();
    7.order实现排序
        $data=Db::table("user")->order(&#39;id&#39;)->select();
        $data=Db::table("user")->order("id","desc")->select();
    8.field 设置查询字段
        //设置查询字段
            $data=Db::table("user")->field(&#39;name,pass&#39;)->select();
            $data=Db::table("user")->field([&#39;name&#39;,&#39;pass&#39;])->select();
        // 给name起别名
            $data=Db::table("user")->field(&#39;name uname,pass&#39;)->select();
            $data=Db::table("user")->field([&#39;name&#39;=> &#39;uname&#39;,&#39;pass&#39;])->select();
        // sql的系统函数
            $data=Db::table("user")->field("count(*) as tot")->select();
            $data=Db::table("user")->field(["count(*)"=>"tot"])->select();
        //排除字段
            $data=Db::table("user")->field("name,pass",true)->select();
            $data=Db::table("user")->field(["name","pass"],true)->select();
    9.Page实现分页效果
        $data=Db::table("user")->page(3,5)->select();
        $data=Db::table("user")->page("3,5")->select();
    10.分组聚合
        $data=Db::table("user")->field("pass,count(*) tot")->group("pass")->select();
    11.having过滤
        // 只能结合分组使用
            $data=Db::table("user")->field("pass,count(*) tot")->having("tot >=4")->group("pass")->select();
    12.多表查询
        // 内敛实现数据库连接
            $data=Db::query("select product.*,fenlei.name tname from fenlei,product where product.cid=fenlei.id");
            $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id")->select();
            // 右链接
            $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;right&#39;)->select();
            // 左链接
            $data=Db::table("product")->field("product.*,fenlei.name tname")->join("fenlei","product.cid=fenlei.id",&#39;left&#39;)->select();
    13.别名使用-给表起别名
        $data=Db::table("product")->alias(&#39;p&#39;)->field("p.*,f.name fname")->join("fenlei f","p.cid=f.id",&#39;left&#39;)->select();
    14.union集合
        $data=Db::field("name")->table("user")->union("select name from product")->select();
    15.参数绑定bind为了防止sql注入
        //自动轻微防止sql注入
        $data=Db::table("user")->where("id",$id)->delete(); 
        //不防注入 建议不要使用原生的sql语句
        $data=Db::execute("delete from user where id=$id");
        //防注入
        $data=Db::table("user")->where("id",":id")->bind([&#39;id&#39;=>[$id,\PDO::PARAM_INT]])->delete();
    16.统计数据
            $data=Db::table("user")->max("age");
            $data=Db::table("user")->min("age");
            $data=Db::table("user")->avg("age");
            $data=Db::table("user")->sum("age");
            $data=Db::table("user")->count();
    17.视图查询(多表查询)
            $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid")->select();
            // 左连接
            $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","right")->select();
            // 右连接
            $data=Db::view("goods","id,name,price")->view("type","name","type.id=goods.cid","left")->select();
    로그인 후 복사
    로그인 후 복사

    2.插入操作

    1.插入单条数据
        // 数组中的字段名必须和数据库中字段名一致
            $data=[
                &#39;name&#39;=>&#39;张三&#39;,
                &#39;pass&#39;=>&#39;123&#39;,
                &#39;age&#39;=>18
            ];
            // 返回值:影响行数
            $code=Db::table("user")->insert($data);
            $code=db("user")->insert($data);
    2.插入多条数据
        $data=[
            [
                &#39;name&#39;=>&#39;张三1&#39;,
                &#39;pass&#39;=>&#39;123&#39;,
                &#39;age&#39;=>18
            ],
            [
                &#39;name&#39;=>&#39;张三2&#39;,
                &#39;pass&#39;=>&#39;123&#39;,
                &#39;age&#39;=>18
            ]
        ];
        //返回值:影响行数 
        $code=Db::table("user")->insertAll($data);
        $code=db("user")->insertAll($data);
    3.获取最后一次插入的id
        $data=[
            &#39;name&#39;=>&#39;张三1&#39;,
            &#39;pass&#39;=>&#39;123&#39;,
            &#39;age&#39;=>18
        ];
        $code=Db::table("user")->insertGetId($data); 
        $code=db("user")->insertGetId($data);
    로그인 후 복사
    로그인 후 복사

    3.更新数据

    1.修改数据
        $code=Db::table("user")->where("id",">",5)->update(["age"=>111,"pass"=>&#39;111&#39;]);
        $code=Db::table("user")->update(["id"=>5,"age"=>60]);
        code=Db::table("user")->where("id",5)->setField("age",111);
    2.设置自增
        $code=Db::table("user")->where("id",6)->setInc("age");
    3.设置自减
        $code=Db::table("user")->where("id",7)->setDec("age");
        $code=Db::table("user")->where("id",5)->setDec("age",3);
    로그인 후 복사
    로그인 후 복사

    4.删除数据

    1.删除一条数据
        $code=Db::table("user")->where("id",6)->delete();
        $code=Db::table("user")->delete(7);
    2.删除多条数据
        $code=Db::table("user")->where("id in(1,2)")->delete();
        $code=Db::table("user")->delete([2,3]);
    3.删除区间数据
        $code=Db::table("user")->where("id>0 and id<5")->delete();
    로그인 후 복사
    로그인 후 복사

    六、事务机制

    1.mysql事务

    要求数据的引擎必须是InnoDB
    重点:对要操作的数据表执行语句:ALTER TABLE user ENGINE=INNODB;

    2.使用

    1. 自动控制事务

    Db::transaction(function(){    // 删除一条数据    Db::table("user")->delete(11);    Db::table("user")->deletes(40);});
    로그인 후 복사
    로그인 후 복사

    2. 手动控制事务

    // 手动控制事务
        // 开启事务
        Db::startTrans();    try{        // 删除数据
            $a=Db::table("user")->delete(11);        // 判断是否删除成功
            if(!$a){            throw new  \Exception("删除11没有成功");
            }        // 删除不存在的数据
            $b=Db::table("user")->delete(12);        if(!$b){            throw new  \Exception("删除12没有成功");
            }        // 执行提交操作
            Db::commit();`这里写代码片`        echo "成功";
        }catch(\Exception $e){        // 回滚事务
            echo "失败";
            Db::rollback();
            dump($e->getmessage());
        }    // 开启事务
        Db::startTrans();    // 删除数据
        $a=Db::table("user")->delete(1);    $b=Db::table("user")->delete(2);    // 判断条件
        if($a && $b){        // 提交事务
            Db::commit();
        }else{
            Db::rollback();
        }
    로그인 후 복사

    本文讲解了关于thinkphp5.0数据库操作的案例,更多相关内容请关注php中文网。

    相关推荐:

    列举ThinkPHP5与ThinkPHP3的一些异同点

    创建一个最简单的ThinkPhp项目工程

    关于ThinkPHP的增、删、改、查 的一些总结

    위 내용은 thinkphp5.0 데이터베이스 운영 사례 연구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!