guiyumin 发布的文章

Yii框架其实是一堆零件的集合而已,那么结合其他的零件,就可以组建成一个完整的web app,于是就有了yii2-app-basicyii2-app-advanced这2个模板,而且正在搞yiisoft/yii2-app这个yii 2.1版本的模板。

这些都是模板是有问题的,尤其是不适用于某个特定目的,比如做一个电商网站。所以我是不是可以在这基础之上,尝试这搞一个的模板,专注于电子商务?

考虑要改进的地方如下:

  • 要和前端资源解耦,以便更方便的利用npm的繁荣生态;
  • 充分利用JavaScript的生态,毕竟JavaScript is eating the world
  • 充分利用composer的生态,不能仅仅着眼于和yii融合很紧密的library
  • 充分利用module,把各种常用便捷云服务都整合进来,包括但不限于blogpaymentemail(mailgun, mailchimp之类的邮件通知或邮件激活)sns(短信)wechataws s3
  • adminlte等后台管理系统,甚至是ant design pro这样的专门的后台管理系统
  • 利用各种快速开发的技术,敏捷开发优先,更好满足电子商务的特点,例如打折促销等活动
  • 插件开发商业化,学学人家wordpress
  • web design商业化,可以提供几套常见的设计,例如淘宝,京东,ebay,Amazon等
  • 接入包括Google API在内的多种api,来获取信息,判断用户profile等
  • 待续。。。。

  • Stripe有代码,可以照抄,但是,那个代码是手写Form,没有用到Yii2里的ActiveForm,因此就没有csrf

    In case ActiveForm is used, token is added automatically.

  • 所以需要手动添加一个input type="hidden",类似这样:
  • 如果不加这个csrf,会总是返回 Bad Request (#400) Unable to verify your data submission.

- 阅读剩余部分 -

最近Apache服务器不能加载某些资源,是个CORS问题,就是跨域。报错如下:

Access to Font at 'http://nanny.com/fonts/fontawesome-webfont.ttf?v=4.6.1' from origin 'http://www.nanny.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www.nanny.com' is therefore not allowed access.

这可能是Apache的配置问题,也可能是Yii2 controller的问题。

网上说很多人说在.htaccess文件中加一句Header set Access-Control-Allow-Origin "*"即可,加了,没用。

- 阅读剩余部分 -

接手了一个半截子工程,上一任程序员突然失踪三个月,然后我来接手。

我想说,怪不得程序员都掉头发呢,怪不得程序员都脾气好呢,妈的,经过这样的折磨之后,谁还有火气呢?

都快气晕了,一个用户能有3个不同的名字,角色叫做seeker,然后再Model层是family,然后在controller叫做parent。
存在大量PHP5的写法,用已经弃用多年的方法直接连接数据库
此外,网站部署在一个共享主机里,拿不到root权限,也就拿不到代码,后来不知道怎么回事,有一个备份的,但各种错误,或者用@把错误给隐藏起来。

最初一段时间,就是解决各种error,然后为了了解这个代码的逻辑,就用到一招:打断点。

2018年6月16日更新
我们最近一段时间的关键词是解耦。以我俩目前的架构水平,设计一个高水平的架构还是不可能的,毕竟没经验,所以呢,就先做一件事:解耦
也就是说,先不管代码是否重复,目前只管把各个功能给拆开,做到改动一处功能,不会影响到其他地方,各个功能相互之间要尽可能独立。
等到把所有功能都拆开了,有机会、有能力了再重新组合。

2018年6月8日更新
2周以来,我们做了大量的工作,首先修复了不少error,并且鉴定出不少bug,并且一一修复。
在整个过程中,我们对于删除老代码很谨慎,一般不会动老代码。
所以我们做了大量的workaround,或者是bypass
现在运行的还是有些许问题,但已经基本运行稳定,可以用来做业务了。