gpt4 book ai didi

php - 使用 CodeIgniter 模型作为对象管理器/工厂

转载 作者:行者123 更新时间:2023-12-02 07:38:58 25 4
gpt4 key购买 nike

我目前正在设计一款使用 CodeIgniter 的游戏,但我不认为模型的单例方法是我想要处理数据库中与游戏相关的对象的方式。

我想使用 CodeIgniter 模型类来处理对象的基本 CRUD 操作,但将对象作为 PHP 类。

例子:

 $this->load->model('playermodel');
$player = $this->playermodel->get($player_id); // Returns a Player object

// Call modifying operations on the player (equip item, take damage etc.)

$this->playermodel->save($player); // Commits updated Player back to DB

$player2 = $this->playermodel->create(); // Basically calls new Player()

我是 CodeIgniter 的新手,这样的事情会违反任何类型的 CodeIgniter 或 MVC 设计规则吗?如果是这样,有人可以向我推荐另一种方法来解决我的问题吗?

最佳答案

如果您想构建合适的 MVC,最好的方法是尽可能多地使用 Codeigniter。 Codeigniter 是为 PHP4 编写的框架,现在已经有一段时间没有更新了,我说的是框架设计,而不是一些库更新。

如果您查看 Codeigniter 源代码并查看基本模型的功能,它只是从模型中获取请求并使用神奇的 _set 和 _get 方法将其传回 Controller 。所以 Codeigniter 并不真正了解您的模型或 Controller 之间的区别。以及您如何编写此代码,所有内容都在某个 super super 全局对象中进行处理。

从表面上看,您可能看起来像是在使用 MVC,但实际上并非如此。看一看 Zend2、Symfony2……您可以在其中真正构建自己的模型。

关于php - 使用 CodeIgniter 模型作为对象管理器/工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13290689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com