drodata
- drodata 回答了问题 手机注册用户与微信等第三方注册登录用户合并
@amrozhou 这种合并的工作最容易出错,一不小心就会出现脏数据。我的做法是参照 EER 图编写迁移代码,这样不容易遗漏。
我想你的初衷是在注册阶段让用户有多重选择,以便更快捷地完成注册。手机号的等级比微信高,使用第三方注册绝大部分是因为不愿意暴露自己的手机号。如果一个用户愿意使用自己的手机号注册,那他基本不会用第三方登录手段了。此外,你可以参考简书的注册体验,这个网站同时支持手机号和第三方两种注册方式,和你的需求很像。我刚才试了一下,使用手机号注册后,在账号设置页面没有绑定微信什么的,但是用微信注册后的账号,在设置页面有绑定手机号的功能。如果你绑定的手机号之前曾注册过账号,简书直接禁止绑定,也就是说,它没有合并账号的功能。
- drodata 回答了问题 手机注册用户与微信等第三方注册登录用户合并
我不确定正确理解了你的意思,“手机注册了一个用户”是指通过手机号注册吗?假如同一个用户通过不同注册方式在 user 表内写入两条记录,你做一个类似“绑定账号”的功能。例如,通过微信登录的方式登录的用户,让用户输入手机号,通过手机号检查 user 表是否存在记录,若存在,提醒用户合并账号。
- drodata 回答了问题 问个MYSQL约束相关的问题
你能把 pname 引用的表格结构贴出来吗?另外令我感到好奇的是,你在 RBAC 默认的表格中加 pname 外键想达到什么效果呢?RBAC 默认的表格对你来说有什么局限性吗?
- drodata 回答了问题 对象和数组为什么都可以使用
因为 AR 是 yii\base\model 的后代,而 yii\base\Model 实现了 PHP 预定义的接口
ArrayAccess
, 正是这个接口让我们能够像使用关系数组一样访问对象中的属性。 不是太确信,可以尝试下面的思路试试:
- throw 时使用 yii\db\Exception 而不是 \Exception;
- 写一个测试 action, 把代码中其它无关内容移除,用两个简单的表,加上最简单的代码,模拟运行一下,看能否重现问题;
- drodata 赞了回答
没尝试过手动安装包到vendor。可以尝试用composer的形式安装phpexcel,packagist phpexcel 链接,可以通过
composer require phpoffice/phpexcel
安装之后,在控制器中就可以使用$phpexcel = new \PHPExcel();
类似的语法进行调用了。 你不提供足够多的信息,让大家怎么帮你?
- drodata 赞了回答
说说我的理解,
1.首先apache类似一个中间件,一个服务,我们用浏览器直接访问php文件是没用的.想象一个从浏览器访问到服务器,通过域名(ip)访问到,那怎么才能执行php呢,就是Apache进程在监听80端口,所以你的访问才能进服务器,然后通过Apache的配置,调起php,执行对应php文件.
2.然后说下域名,http://www.xxx.com/homePage/test中http://www.xxx.com/是主域名,dns服务器把它解析成ip,就可以访问到对应的服务器了,默认80端口.然后根据配置,进入相同或者不同的目录(主目录),剩下的homePage/test就是参数了.参数怎么解析就看apache配置了.正常2种,1)按照目录形式 主目录下子目录层级找到对应php文件,然后解析.2)统一入口,从index.php开始执行,homePage/test当成参数传入,所以你看apache上有配置RewriteRule . index.php.一般框架都是使用统一入口.
所以,apache是根据域名+配置调起php执行php文件.至于找test.php,只是你怎么写而已,同一个域名,可以渲染test.php,也可以渲染aaa.php,看你怎么写咯.