这里使用模型修改器为什么不用监视器呢?

按文中的意思是数据保存到数据库之前修改数据,那我可不可以在User的监视器里使用created方法对密码进行加密呢?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

可以做到一样的结果, 不同的方法而已,
就像我都可以不使用观察器, 直接在 UsersController 控制器的 store 方法里面进行处理,

分开处理, 是为了符合所谓的 solid 原则,

单就这里的 密码属性而言, 使用修改器( 如果要设置 密码, 就执行该函数, 把密码按一定格式保存 )更为合适, 而 observer 可以做的更多, 比如前面用到的队列, 回复数 +1, -1 等;

个人理解的 修改器和访问器, 主要就是对当前属性负责, 不要涉及其它业务.
举个例子, 数据库保存一个时间的格式是 timestamp, 而前台页面设置时是 datetime 格式, 那么设置了 修改器, 就可以在保存时自动改为 timestamp 类型而存入数据库;
同样, 设置了访问器以后, 在前台直接使用时间属性, 也就可以访问到 改为 datetime 格式的 时间

5年前 评论
讨论数量: 2

可以做到一样的结果, 不同的方法而已,
就像我都可以不使用观察器, 直接在 UsersController 控制器的 store 方法里面进行处理,

分开处理, 是为了符合所谓的 solid 原则,

单就这里的 密码属性而言, 使用修改器( 如果要设置 密码, 就执行该函数, 把密码按一定格式保存 )更为合适, 而 observer 可以做的更多, 比如前面用到的队列, 回复数 +1, -1 等;

个人理解的 修改器和访问器, 主要就是对当前属性负责, 不要涉及其它业务.
举个例子, 数据库保存一个时间的格式是 timestamp, 而前台页面设置时是 datetime 格式, 那么设置了 修改器, 就可以在保存时自动改为 timestamp 类型而存入数据库;
同样, 设置了访问器以后, 在前台直接使用时间属性, 也就可以访问到 改为 datetime 格式的 时间

5年前 评论

可以做到一样的结果, 不同的方法而已,
就像我都可以不使用观察器, 直接在 UsersController 控制器的 store 方法里面进行处理,

分开处理, 是为了符合所谓的 solid 原则,

单就这里的 密码属性而言, 使用修改器( 如果要设置 密码, 就执行该函数, 把密码按一定格式保存 )更为合适, 而 observer 可以做的更多, 比如前面用到的队列, 回复数 +1, -1 等;

个人理解的 修改器和访问器, 主要就是对当前属性负责, 不要涉及其它业务.
举个例子, 数据库保存一个时间的格式是 timestamp, 而前台页面设置时是 datetime 格式, 那么设置了 修改器, 就可以在保存时自动改为 timestamp 类型而存入数据库;
同样, 设置了访问器以后, 在前台直接使用时间属性, 也就可以访问到 改为 datetime 格式的 时间

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!