Nat*_*ams 8 php design-patterns codeigniter
相当简单的问题:
我知道Codeigniter是一个MVC框架 - 然而Codeigniter使用的设计模式是什么?
从第一眼看它似乎是Facade,但我可能是错的.
编辑:
也许我应该为那些不使用它的人描述Codeigniter.
在Codeigniter中,您有一个Controller和Model的概念,每个都有自己独立的文件夹.在每个文件夹中创建一个文件:cart.php:
<?php
class Cart {
//...
}
?>
Run Code Online (Sandbox Code Playgroud)
然后你也可以有一个模型:
<?php
class User {
function login(){...}
}
?>
Run Code Online (Sandbox Code Playgroud)
在Cart类中,只需使用$ this-> user-> login()即可在User中使用登录功能
我发现这很有趣,因为框架使用User对象的对象而程序员没有.
在Codeigniter中,您有一个Controller和Model的概念,每个都有自己独立的文件夹.
他们设置了他们的主路由器类,以便搜索相应的控制器和模型文件,它甚至可以递归.这与任何设计模式无关,它只是一个文件夹组织.
我发现这很有趣,因为框架使用User对象的对象而程序员没有.
是的,他们创造了很多现成的东西,可以随时使用.该用户类是用来控制整个用户系统.
基本上,正如您所说,使用的主要设计模式是MVC,其余的东西由特定任务的不同核心类控制.