Php Codeigniter使用什么设计模式?
相当直截了当的问题: 我知道Codeigniter是一个MVC框架——但是Codeigniter使用的是什么设计模式 从一开始看,这看起来像是一个门面,但我可能错了 编辑: 也许我应该为那些不使用Codeigniter的人描述它。Php Codeigniter使用什么设计模式?,php,design-patterns,codeigniter,Php,Design Patterns,Codeigniter,相当直截了当的问题: 我知道Codeigniter是一个MVC框架——但是Codeigniter使用的是什么设计模式 从一开始看,这看起来像是一个门面,但我可能错了 编辑: 也许我应该为那些不使用Codeigniter的人描述它。 在Codeigniter中,您有一个控制器和模型的概念,每个控制器和模型都有各自独立的文件夹。在每个文件夹中创建一个文件: cart.php: <?php class Cart { //... } ?> 然后您还可以拥有一个模型: <?ph
在Codeigniter中,您有一个控制器和模型的概念,每个控制器和模型都有各自独立的文件夹。在每个文件夹中创建一个文件: cart.php:
<?php
class Cart {
//...
}
?>
然后您还可以拥有一个模型:
<?php
class User {
function login(){...}
}
?>
在类购物车内部,您可以通过简单地使用$this->User->login()在User中使用login函数
我觉得这很有趣,因为框架生成了用户对象的对象,而程序员没有
在Codeigniter中,您有一个
控制器和一个模型,每个模型都有
他们自己单独的文件夹
他们已经设置了他们的主路由器类,以便它搜索相应的控制器和模型文件,甚至可以进行递归。这与任何设计模式无关,它只是一个文件夹组织
我觉得这很有趣,因为
框架生成用户的对象
对象,而程序员没有
是的,他们已经创造了很多现成的东西,可以随时使用。User类用于控制整个用户系统
基本上,正如您所说,所使用的主要设计模式是MVC,其余部分由特定任务的不同核心类控制。我也会在Codeigniter上标记MVC,但我没有看到上面列出的,我认为它应该标记MVC。虽然我仍然认为它是在Facade之后建模的,因为没有$user->login(),而是有一个基本上都是子类的类……它恰好是调用类。