2021年8月

使用自带的Apache不需要进行设置即可使用自带的php,但安装Nginx后需要设置才能使用,打开/etc目录和/tec/php-fpm.d目录发现没有php.iniphp-fpm.confwww.conf,只有php.ini.defaultphp-fpm.conf.defaultwww.conf.default,先使用cp命令将其复制。

sudo cp /etc/php.ini.default /etc/php.ini
sudo cp /etc/php-fpm.conf.default /etc/php-fpm.conf
sudo cp /etc/php-fpm.d/www.conf.default /etc/php-fpm.d/www.conf

- 阅读剩余部分 -

配置文件:/etc/apache2/httpd.conf

启动:sudo apachectl -k start
停止:sudo apachectl -k stop
重启:sudo apachectl -k restart

删除数据一般分为软删除硬删除,软删除指在数据表中建立一个isDeleted字段,若删除本数据只需标记此字段而非实际删除数据,硬删除是指将数据从硬盘中实际删除。

以往我一般习惯性的采用硬删除的方式,将关联数据使用一个事务完成删除,但这样的缺点也显而易见,不具备可恢复性、如果增加新的关联数据必须一起删除,前阵子我开发的一个项目就出现了后期关联的新数据没在删除操作中加上,导致删除数据后浏览数据出错的情况。

今天看到的一篇文章中的几句话后就想通了,原文如下:

订单不是被删除的,是被“取消”的。订单取消得太晚,还会产生花费。
员工不是被删除的,是被“解雇”的(也可能是退休了)。还有相应的补偿金要处理。
职位不是被删除的,是被“填补”的(或者招聘申请被撤回)。

显然,硬删除大多数时候并不符合实际业务的客观发展,如果滥用硬删除会抹掉很多业务中的细节,破坏数据的一致性,所以我的结论是:“尽量避免硬删除,除非这条数据真的不再具有任何意义”

文章链接:https://blog.csdn.net/sinat_42483341/article/details/105723458

依赖注入:A类需要调用B类的功能,所以需要一个B类的对象,一般的写法是在A类中直接实例化B类以获取对象,而依赖注入则是在A类外部实例化B类,然后将B类的对象通过参数注入到A类。

控制反转:将类与类之间的依赖关系管理由内部提到外部进行管理,以此降低程序组件间的耦合度。

ReflectionClass反射类:可用于判断一个类是否可以被实例化、是否有构造函数、获取构造函数的参数、判断参数是否为一个依赖类。

使用反射,我们可以实现从外部判断一个类需要依赖哪些其他类,然后使用程序自动将被依赖类实例化,注入要调用的类。

下面是一个浅显易懂的例子,Controller类需要依赖Db类,所以在构造函数中将Db作为参数,我们在test.php中编写一个maker()函数用于自动创建类的对象,当被依赖的类需要依赖其它类时,maker()函数会被递归调用。

- 阅读剩余部分 -