PHPackages                             bellcode/leancloud-sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bellcode/leancloud-sdk

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

bellcode/leancloud-sdk
======================

LeanCloud PHP SDK

v0.8.3(5y ago)012PHPPHP &gt;=5.6

Since Oct 30Pushed 5y agoCompare

[ Source](https://github.com/HongjiangHuang/php-sdk)[ Packagist](https://packagist.org/packages/bellcode/leancloud-sdk)[ Docs](https://github.com/HongjiangHuang/php-sdk)[ RSS](/packages/bellcode-leancloud-sdk/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (2)Dependencies (3)Versions (36)Used By (0)

LeanCloud PHP SDK
=================

[](#leancloud-php-sdk)

[![Build Status](https://camo.githubusercontent.com/3fd4ee5ed45c3735fdbf42d0ca49ae0c347c359b7e05acec63853c4dacbea40c/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6c65616e636c6f75642f7068702d73646b2e737667)](https://travis-ci.org/leancloud/php-sdk)[![Latest Version](https://camo.githubusercontent.com/80046f7845a73c0eadf06172b8b1da63476db8a4baa26fe38a48c09461b9eadb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c65616e636c6f75642f6c65616e636c6f75642d73646b2e737667)](https://packagist.org/packages/leancloud/leancloud-sdk)[![Coverage Status](https://camo.githubusercontent.com/132b59caea47ab062d3c1fb6f5d9826e73e24721bf9b691c019fe6c15714344b/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f6c65616e636c6f75642f7068702d73646b2f6d61737465722e737667)](https://codecov.io/github/leancloud/php-sdk)

LeanCloud 为应用提供了从数据存储，消息推送，实时通信到离线分析等全方位 的一站式云端服务，帮助应用开发者降低后端开发及维护成本，为应用开发加速。 PHP SDK 提供了对数据存储，用户管理等模块的 PHP 实现及接口，以方便 PHP 应用的开发。

安装
--

[](#安装)

运行环境要求 PHP 5.6 及以上版本，以及 [cURL](http://php.net/manual/zh/book.curl.php)。

#### composer 安装

[](#composer-安装)

如果使用标准的包管理器 composer，你可以很容易的在项目中添加依赖并下载：

```
composer require leancloud/leancloud-sdk
```

#### 手动下载安装

[](#手动下载安装)

你也可以前往[发布页面](https://github.com/leancloud/php-sdk/releases)手动下载安装包。假设你的应用位于 `$APP_ROOT` 目录下：

```
cd $APP_ROOT
wget https://github.com/leancloud/php-sdk/archive/vX.X.X.zip

# 解压并置于 vendor 目录
unzip vX.X.X.zip
mv php-sdk-X.X.X vendor/leancloud
```

初始化
---

[](#初始化)

完成上述安装后，需要对 SDK 初始化。如果已经创建应用，可以在 LeanCloud \[**控制台** &gt; **应用设置**\]里找到应用的 ID 和 key。然后在项目中加载 SDK， 并初始化：

```
// 如果是 composer 安装
// require_once("vendor/autoload.php");

// 如果是手动安装
require_once("vendor/leancloud/src/autoload.php");

// 参数依次为 app-id, app-key, master-key
LeanCloud\Client::initialize("app_id", "app_key", "master_key");
```

使用示例
----

[](#使用示例)

#### 用户注册及管理

[](#用户注册及管理)

注册一个用户:

```
use LeanCloud\User;
use LeanCloud\CloudException;

$user = new User();
$user->setUsername("alice");
$user->setEmail("alice@example.net");
$user->setPassword("passpass");
try {
    $user->signUp();
} catch (CloudException $ex) {
    // 如果 LeanCloud 返回错误，这里会抛出异常 CloudException
    // 如用户名已经被注册：202 Username has been taken
}

// 注册成功后，用户被自动登录。可以通过以下方法拿到当前登录用户和
// 授权码。
User::getCurrentUser();
User::getCurrentSessionToken();
```

登录一个用户:

```
User::logIn("alice", "passpass");
$user = User::getCurrentUser();
$token = User::getCurrentSessionToken();

// 给定一个 token 可以很容易的拿到用户
User::become($token);

// 我们还支持短信验证码，及第三方授权码登录
User::logInWithSmsCode("phone number", "sms code");
User::logInWith("weibo", array("openid" => "..."));
```

#### 对象存储

[](#对象存储)

```
use LeanCloud\LeanObject;
use LeanCloud\CloudException;

$obj = new LeanObject("TestObject");
$obj->set("name", "alice");
$obj->set("height", 60.0);
$obj->set("weight", 4.5);
$obj->set("birthdate", new \DateTime());
try {
    $obj->save();
} catch (CloudException $ex) {
    // CloudException 会被抛出，如果保存失败
}

// 获取字段值
$obj->get("name");
$obj->get("height");
$obj->get("birthdate");

// 原子增加一个数
$obj->increment("age", 1);

// 在数组字段中添加，添加唯一，删除
// 注意: 由于API限制，不同数组操作之间必须保存，否则会报错
$obj->addIn("colors", "blue");
$obj->save();
$obj->addUniqueIn("colors", "orange");
$obj->save();
$obj->removeIn("colors", "blue");
$obj->save();

// 在云存储上删除数据
$obj->destroy();
```

我们同样支持子类继承，子类中需要定义静态变量 `$className` ，并注册到存储类:

```
class TestObject extends LeanObject {
    protected static $className = "TestObject";
    public setName($name) {
        $this->set("name", $name);
        return $this;
    }
}
// register it as storage class
TestObject::registerClass();

$obj = new TestObject();
$obj->setName();
$obj->set("eyeColor", "blue");
...
```

#### 对象查询

[](#对象查询)

给定一个 objectId，可以如下获取对象。

```
use LeanCloud\Query;

$query = new Query("TestObject");
$obj = $query->get($objectId);
```

更为复杂的条件查询：

```
$query = new Query("TestObject");
$query->lessThan("height", 100.0);           // 小于
$query->greaterThanOrEqualTo("weight", 5.0); // 大于等于
$query->addAscend("birthdate");              // 递增排序
$query->addDescend("name");                  // 递减排序
$query->count();
$query->first(); // 返回第一个对象

$query->skip(100);
$query->limit(20);
$objects = $query->find(); // 返回查询到的对象
```

#### 文件存储

[](#文件存储)

直接创建文件:

```
use LeanCloud\File;
$file = File::createWithData("hello.txt", "Hello LeanCloud!");
try {
    $file->save();
} catch (CloudException $ex) {
    // 云存储返回错误，保存失败
}

$file->getSize();
$file->getName();
$file->getUrl();
```

由本地文件创建：

```
$file = File::createWithLocalFile("/tmp/myfile.png");
try {
    $file->save();
} catch (CloudException $ex) {
    // 云存储返回错误，保存失败
}

// 获取文件缩略图的链接
$url = $file->getThumbUrl();
```

由已知的 URL 创建文件:

```
$file = File::createWithUrl("image.png", "http://example.net/image.png");
try {
    $file->save();
} catch (CloudException $ex) {
    // 云存储返回错误，保存失败
}
```

更多文档请参考 [PHP 数据存储开发指南](https://leancloud.cn/docs/leanstorage_guide-php.html)

贡献
--

[](#贡献)

See Hacking.md if you'd like to contribute.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 95.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~69 days

Recently: every ~270 days

Total

29

Last Release

1903d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/47dfbaa99cc16afb71885fb8159f035515b1a44ebe5161175f40a18f5786bef3?d=identicon)[AlbertHuang](/maintainers/AlbertHuang)

---

Top Contributors

[![juvenn](https://avatars.githubusercontent.com/u/6934?v=4)](https://github.com/juvenn "juvenn (358 commits)")[![jysperm](https://avatars.githubusercontent.com/u/1191561?v=4)](https://github.com/jysperm "jysperm (15 commits)")[![jwfing](https://avatars.githubusercontent.com/u/985038?v=4)](https://github.com/jwfing "jwfing (2 commits)")[![alberthuang24](https://avatars.githubusercontent.com/u/20190812?v=4)](https://github.com/alberthuang24 "alberthuang24 (1 commits)")

---

Tags

leancloud

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bellcode-leancloud-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/bellcode-leancloud-sdk/health.svg)](https://phpackages.com/packages/bellcode-leancloud-sdk)
```

###  Alternatives

[leancloud/leancloud-sdk

LeanCloud PHP SDK

5232.0k6](/packages/leancloud-leancloud-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
