1
qinix 2015-09-11 14:39:42 +08:00 1
直接用他们的 REST API 呗
|
2
cnpaas 2015-09-11 21:07:24 +08:00 1
试试 CNPaaS :
http://www.cnpaas.io/ |
4
hjiang 2015-09-21 15:55:09 +08:00
LeanCloud 的官方 PHP SDK 已经在开发了。
|
5
adkudao OP |
6
adkudao OP @hjiang
提两点建议: 一. 能否添加对 SQL 语句 的支持? 在不考虑后台的情况下, LeanCloud 对于快速推出产品原型很有帮助, 但如果考虑同时生成后台的话,个人感觉 LeanCloud 并不是很方便; 举例 1: 在读取 test 这张表(Object)时, 我要用 '字段 1 > 字段 2' 这样的条件来筛选: 如果用 SQL 语句, 直接 'where 字段 1 > 字段 2'就可以了, 但如果用 LeanCloud 提供的接口, 很难完成这样的操作; 举例 2: 我要获取在 2015-06-29 当天发布的微博, 如果用官方提供的查询方法, 大概类似这样: --data-urlencode 'where={"createdAt":{"$gte":{"__type":"Date","iso":"2015-06-29T00:00:00.000Z"},"$lt":{"__type":"Date","iso":"2015-06-30T00:00:00.000Z"}}}' \ 如果用 SQL 语句, 只要这样就可以了: 'where time > 时间 1 and time < 时间 2' 而且这只是查询,如果再加上排序等其他条件的话, LeanCloud 现有的接口真的太复杂,太不方便了,如果可以简化的跟 SQL 语句一样的话, 绝对是功德无量, 造福大家的; 我个人建议可以参考常见的 Web 框架, 进行 CURD 操作, 比如读取列表可以这么写 $list = M('表名 /Object 名') -> where(SQL 条件) -> order(排序条件) -> limit(索引条件) -> select(); $list = M('Test') -> where('quota > finish and time > XX 时间') -> order('time desc, id asc') -> limit(20, 10) -> select(); 二. 能否修改字段属性? 比如我在使用 REST API 的时候, 明明存储的字段是数字, 结果到控制台一看, 就变成了字符串, 在做条件查询时, 也必须按字符串来做查询约束,否则出错; 我想在控制台更改该字段的属性, 结果发现改不了, 只能删了以后再手工添加一个, 可这么一来, 数据就没了; |
7
hjiang 2015-09-22 12:47:25 +08:00
@adkudao LeanCloud 本来用的就不是 SQL 数据库,所以是不能支持 SQL 的所有功能的,这并不是一个语法上支持的问题。但是我们支持一个类似的 DSL ,我们把它叫做 CQL : https://leancloud.cn/docs/cql_guide.html 可以看文档了解。
关于第二个问题,应该是你在传递 JSON 数据时使用的格式造成的,数字两边打上了引号就变成了字符串。对于已经有数据的表,我们不好支持修改字段类型,因为没有通用的处理办法。 |
8
adkudao OP @hjiang
CQL 太好了, 粗略看了一下, 果然跟 SQL 语句差不多, 我下一个项目的技术选型就试试它, 非常希望可以成为你们的付费用户! 加油, 祝 LeanCloud 越来越简单易用, 接口越来越强大, 付费用户越来越多. |
9
LeanCloudRRY 2015-10-09 11:47:54 +08:00 1
PHP SDK 已经发布并开源→ https://github.com/leancloud/php-sdk
|
10
adkudao OP @LeanCloudRRY 太漂亮了! 鼎力支持! 只是, 说好的文档呢?
|
11
adkudao OP |
14
LeanCloudRRY 2015-11-09 13:48:06 +08:00
@adkudao 正式发布了哟,再 mark 一下,希望能够给我们提出意见和建议~
|
15
adkudao OP @LeanCloudRRY 不好意思, 前段时间没上 V 站, 我现在看下, 晚点给你们意见
|
16
adkudao OP @LeanCloudRRY @juvenn
我看了你们的 Github, 不知道你们希望是以技术驱动产品还是以市场驱动产品? 如果想以市场驱动的话, 我这里有个建议: 你们作为一款 BaaS 产品, 要扩大份额就要靠易入门和宣传; 要保住份额的话, 最重要的是稳定和速度; 易入门你们已经做的很好了,不过还可以更好, 比如我发现你们写文档时, 似乎优先去做你们的那些 LeanObject,LeanQuery 类; 但我觉得你们优先把重点放在 CQL 上效果会更好; 还是用我上面举的例子,我要获取在 2015-06-29 当天发布的微博, 如果用你们提供的文档, 我可能需要耐着性子去一个一个看你们声明的各种方法, 格式, 结构... 最后可能才能勉强拼出下面这段代码 --data-urlencode 'where={"createdAt":{"$gte":{"__type":"Date","iso":"2015-06-29T00:00:00.000Z"},"$lt": {"__type":"Date","iso":"2015-06-30T00:00:00.000Z"}}}' \ 作为一个想使用你们产品的新人, 恐怕很多人看了第一个方法后就直接放弃了,更别提还要组合; 一个是未必能弄懂怎么去组合这些查询方法, 二个是勉强组合出来的代码, 有很大可能性会出错, 运行不了, 然后, 就再也不会使用你们产品了, 你懂的.. 但如果你们一开始大书特书你们的 CQL 查询方法, 告诉别人就像用 SQL 一样去使用就行了, 比如要实现我刚说的查询, 只要下面这行代码就够了: 'where time > 时间 1 and time < 时间 2' 那么我很难想出不用你们产品的理由; ---------------------------------------------------------------------- 这就是我给你们的建议: 优先做 CQL, 加强 CQL, 完善 CQL: 1. 把学习成本降低到近乎为 0, 把易入门做到极致; 2. 让开发更简单, 节约用户大量的开发成本; ---------------------------------------------------------------------- 我看你们文档里有提到使用 CQL 可能会导致性能的一些下降, 不过既然用了你们的产品, 想必不会对速度要求特别高, 而且, 程序员的时间, 比机器时间更宝贵, 不是吗? |
17
adkudao OP @hjiang @LeanCloudRRY @juvenn
对了, 除了刚才的建议, 正好问你们一件事, 你们的 JavaScript SDK 的 AV.File 接口 , 能否实现在安卓手机浏览器下的文件上传? 我们都知道安卓有不少版本, 都把 file input 给屏蔽了, 用普通的上传文件方法根本上传不了文件, 我一般都是用微信的上传接口上传的文件, 不知道你们的接口是否可以突破这个限制? 如果可以, 是否可以扩大一点, 比如能否在 AppCan, APICloud 这种 Hybrid 混合方式用使用? APICloud 他们也做了一个轻 BaaS 平台, 好像是可以上传文件的, 只要能连 HTTP, 就可以通过转码的方式上传; 希望你们有这个功能, 对于需要适配 Android 的移动网页开发者来说, 应该是个刚需; |
18
adkudao OP |
19
leeyeh 2016-02-02 17:24:53 +08:00
JavaScript SDK 支持包括微信 webview 在内的 Android 运行环境,具体方式请参考 https://leancloud.cn/docs/js_guide.html#文件。
Android 微信无法通过 file input 上传文件的问题我搜到的资料都比较旧了,不知道现在的支持情况如何。除了使用原生的 file input 控件我们还支持通过 base64 上传文件、保存一个现有存储在其他服务上的 URL 的文件对象。 对于 Hybird 应用,我们最新的测试版提供了 [React Native 的支持]( https://blog.leancloud.cn/3993/)。此外如果解决方案使用的是 Webview 来运行代码的话,那么理论上也是支持的。 |
20
juvenn 2016-02-02 17:26:06 +08:00
@adkudao 方便描述你在使用 php sdk 的具体问题吗?如错误栈等?如果以后遇到类似的问题,欢迎你在 github.com/leancloud/php-sdk 提交 issue 。同时我们也有用户论坛 forum.leancloud.cn ,正常情况我们都能在 1 天内跟进。
关于性能上的问题,我们的平台有较大的客户,对速度可用性等的要求都很高,是非常在乎性能的。 CQL 是我们对 key-value 数据库的一个扩展,提供了类 SQL 的接口,在效率和可表达性上做了权衡,但并不能完全与 SQL 兼容。 关于手机浏览器上传文件的问题,我会反馈给同事。 |