php项目中分为几层结构

mvc这种分层会导致m层和c代码过多,一般还有form。除了这种之后,是否项目中还有用到其他的层,希望有项目源码

这是我一个项目中的结构层次,可以参考一下。
项目暂时不能公开,不过你想要源码,直接到GitHub 或者Gitee上随便一搜,就是大把的项目和源码,你要的类型也可以有。

www  WEB部署目录(或者子目录)
├─application            应用目录
│  ├─admin               后台模块目录
│  ├─common              公共模块目录
│  ├─extra              
│  ├─home                前台模块目录
│  ├─module_name         模块目录
│  │  ├─controller       控制器目录
│  │  ├─model            模型目录
│  │  ├─validate         验证器目录
│  │  ├─view             视图目录
│  │  ├─config.php       模块配置文件
│  │  └─ ...            
│  │
│  ├─ .htaccess         
│  ├─command.php        
│  ├─common.php         
│  ├─config.php          公共配置文件
│  ├─database.php        数据库配置文件
│  ├─route.php           路由配置文件
│  └─tags.php           
│
├─extend                 扩展类库目录
│  ├─aliyun-php-sdk-core 阿里云核心SDK
│  └─aliyun-php-sdk-dm   阿里云邮件推送SDK
│ 
├─public                 入口目录
│  ├─.htaccess           apache配置文件
│  ├─favicon.ico         图标
│  ├─index.php           入口文件
│  ├─robots.txt          爬虫协议
│  └─router.php            
│ 
├─thinkphp               thinkphp核心代码目录
├─vendor                 第三方类库目录(Composer依赖库)
├─.gitignore            
├─.travis.yml           
├─LICENSE.txt           
├─README.md             
├─build.php             
├─composer.json          composer 定义文件
└──think                

V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,它只是作为一种输出数据并允许用户操纵的方式。

M即model模型是指模型表示业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

这样我也不太明白,要不这样,在哪里可以找到开源的项目源码,除了GitHub

这样我也不太明白,要不这样,在哪里可以找到开源的项目源码,除了GitHub