环境:win10+phpstudy+微信开发工具;
技术:thinkphp+mysql
1、微信小程序本地开发调试方法:
A、微信小程序 本地开发
https://blog.csdn.net/woai671/article/details/82710834
https://blog.csdn.net/qq_24531461/article/details/79957150
B、微信小程序开发——本地调试 https://www.jianshu.com/p/569c6b7aa773
2、最终解决方案
A、采用阿里云服务器、宝塔免费的SSL证书Let's Encrypt(SSL证书申请时间反应有点长啊,阿里云虚拟主机不支持fastadmin的部分功能)。同时也免费申请了阿里的免费SLL证书
3、伪静态:fastadmin+Ngix报这个错误:404 Not Found。在宝塔面板的伪静态中选择thinkphp自动生成伪静态规则。错误消失。
apache开启伪静态的步骤: 配置文件httpd.conf,找到#LoadModule rewrite_module modules/mod_rewrite.so。把前面#去掉。没有则添加,但必选独占一行,使apache支持 mod_rewrite 模块。把 AllowOverride None 换成 AllowOverride All 使apache支持 .htaccess 文件
nginx开启伪静态的步骤:直接在nginx.conf (或者在对应的*.conf) 中找到需设置伪静态规则的服务器对应字段,在server{ location/{ } }中添加以代码。
宝塔中设置伪静态不需要这么麻烦,直接选择生成。
4、_initialize() 区别 __construct()
_initialize()方法是在任何方法执行之前,都要执行的,当然也包括 __construct构造函数。 也就是说如果存在_initialize()函数,调用对象的任何方法都会导致_initialize()函数的自动调用,而__construct()构造函数仅仅在创建对象的时候调用一次,跟其它方法调用没有关系。
__construct这里是双划线,而_initialize()函数是单划线
如果父子类均有_initialize()函数,则子类覆盖了父类的,如果子类没有而父类有,则子类继承父类的。
默认情况下,子类的构造函数不会自动调用父类的构造函数。在调用子类对象的_initialize()时,也不会导致自动调用父类的_initialize()
实际编写子类的构造函数时,一般都要加上父类构造函数的主动调用parent::__construct(),否则会导致子类对象空指针的异常,如Call to a member function assign() on a non-object。
5、PHP类中的$this、self、parent关键字使用总结 https://www.cnblogs.com/Cloudloong/p/9564425.html
6、{:__('abc')}表示 语言包标签
7、addons.php 中的 sms_send 对应调用插件中的 Qcloudsms.php中的 smsSend方法
8、
<input id="c-category_ids" data-rule="required" data-source="category/selectpage" data-params='{"custom[type]":"test"}' data-multiple="true" class="form-control selectpage" name="row[category_ids]" type="text" value="">
data-rule: 在FastAdmin当中我们只需要给元素添加data-rule="规则"即可开启Nice-validator的验证
data-source: FastAdmin中的动态下拉列表使用的是优秀强大的Selectpage插件来支持,其中需要给元素class添加一个selectpage,其次需要增加一个data-source="category/selectpage"这个属性,category/selectpage为我们控制器提交列表的方法
data-params: 为Selectpage所支持的扩展属性。
data-params='{"custom[type]":"test"}' : 表示搜索type字段,内容为test的记录。
9、fastadmin 命令行工具
1)、一级目录操作
php think crud -t zhaoshang_type -u 1 CRUD且一键生成菜单
php think crud -t zhaoshang_type -d 1 删除CRUD
php think menu -c zhaoshang_type -d 1 删除菜单
2)、二级目录操作
php think crud -t zhaoshang_type -c zhaoshang/type CRUD且控制器生成在二级目录下(注意控制器不能有下划线,TP中会做峰驼转换,各种意外 )
php think menu -c zhaoshang/type 一键生成mydir/test控制器的权限菜单
php think crud -t zhaoshang_type -c zhaoshang/type -d 1 删除CRUD
php think menu -c zhaoshang/type -d 1 删除菜单
3)、关联模型
php think crud -t 主表 -r 关联表 -k 关联id -p 关联模型表主键 -c 目录/文件名 -u 1
php think crud -t zhaoshang_list -r zhaoshang_type -k channel_id -p id -c zhaoshang/listdata -u 1 新建二级目录 关联模型
php think crud -t zhaoshang_type -c zhaoshang/type
php think menu -c zhaoshang/type
具体应用
php think crud -t zhaoshang_type -c zhaoshang/type -d 1 删除CRUD
php think crud -t zhaoshang_list -c zhaoshang/listdata -d 1 删除CRUD
php think menu -c zhaoshang/type -d 1 删除菜单
php think menu -c zhaoshang/listdata -d 1 删除菜单
php think menu -c zhaoshang -d 1 删除菜单
php think crud -t test -c mydir/test -d 1 删除测试表CRUD
php think menu -c mydir/test -d 1 删除测试表菜单
php think menu -c mydir -d 1 删除菜单
总体上参考资料
https://ask.fastadmin.net/article/324.html
https://doc.fastadmin.net/docs/addons.html#toc-1
https://ask.fastadmin.net/questions.html
https://www.kancloud.cn/manual/thinkphp5_1/353946
www.baidu.com
新问题探索方向:
1、https://ask.fastadmin.net/article/6504.html
https://ask.fastadmin.net/question/656.html
2、通过test命令来排除法
3、通过已有插件案例来排除法研究系统