不扯那么多,直接进入正题了吧。

dingo/api是为LaravelLumen这俩兄弟框架写的一个库,目的是用于构建RESTful API

我的Laravel版本: Laravel 5.6

第一个坑,安装:

#不要这样:
composer require dingo/api

因为这个是packagist上给的默认安装命令,但这样你会安装到最近的一个稳定版v0.10.0,然后顺利的报错了。

正确的姿势,你在composer.json里添加:

"require": {
    "dingo/api": "2.0.0-alpha1"
}

然后composer install

第二个坑,配置:

- 阅读剩余部分 -

开源软件也要讲究市场营销的,也就是说,是否有unmet technological need,如果有,怎样去满足?

一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的行程。

我觉得有这么几个点是可行的:

1、怎样把JS和PHP框架结合起来,更方便使用。

其实Laravel就是一个非常典型的例子,性能就不说了,但真的很方便啊,随便几行代码就能解决很多问题,当然是底层做了大量封装,当然是性能差了,但性能差算个屁,到底是机器贵还是人工贵?

2、某些常用组件,比如怎样给某个框架方便的植入一个非常常用的服务,bbs,email,wechat,payment,等等吧

2018年7月13日更新
3、一个靠谱的电子商务网址、图片站、视频站,等等,对迅速建立一个可用的系统非常重要。甚至可以卖钱的。

4、对某些重要软件的支持,例如做一个非常好的admin,接入到wordpress,woocommerce,shopify之类的。

5、抄一些别的语言的靠谱的开源库,然后翻译为php之类的;或者把easywechat这种,翻译到java之类的。

2018年7月23日更新
6、追赶潮流,例如某个新的语言,比如Golang,基础设施不完全,可以做一个库;例如某个新的火热点,比如比特币之类的,那么,就干吧。

2018年7月24日更新
7、LeetCode这样的一些有用网站的Desktop App?

2018年8月6日更新
8、discourse竟然是Ruby写的,用PHP移植一下?但抄袭一模一样的api,会不会引起知识产权纠纷?还行,discourse是GPLv2,应该问题不大。但这样搞,似乎不好产生商业模式。

基本思路是禁止各种方式实例化这个class,必须只能通过一个方法,比如getInstance方法,而且这个方法要确保只生成一次实例。
在PHP里,还要防止各种其他Magic Methods魔术方法生成该实例。

看代码:

- 阅读剩余部分 -

MySQL 5.7.4之前的版本:

ALTER IGNORE TABLE mytbl ADD UNIQUE (columnName);

For MySQL 5.7.4 or later:

ALTER TABLE mytbl ADD UNIQUE (columnName);

这个IGNORE主要目的是,因为表中可能已经存在了数据,而且会有重复数据。
但MySQL 5.7.4 之后再用IGNORE关键字,会报错。所以增加UNIQUE限制之前,要先确保数据没有重复。

还有一个小特色,甚至你可以为这个constraint加个名字:

ALTER TABLE myTable
  ADD CONSTRAINT constraintName 
    UNIQUE (columnName);