# mvc **Repository Path**: mirrors_phalcon/mvc ## Basic Information - **Project Name**: mvc - **Description**: Phalcon MVC Examples - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-06 - **Last Updated**: 2026-01-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Phalcon MVC 示例 这些是您可以使用Phalcon >= 3.0.x使用的[MVC][MVC -pattern]文件结构的示例要了解更多的文档,请查看[Phalcon文档](https://docs.phalconphp.com/)。 ## 简单的 这是一个非常简单的[MVC][mvc-pattern]结构,它包含一个模型,两个控制器和一个视图. 这个示例没有命名空间.服务在`public/index.php`中使用`Di\FactoryDefault`定义: ``` simple ├── apps │   ├── controllers │   │   ├── IndexController.php │   │   └── ProductsController.php │   ├── models │   │   └── Products.php │   └── views │   └── products │   └── index.phtml └── public └── index.php ``` ## 简单Volt示例 This is a very simple [MVC][mvc-pattern] structure, it contains one model, two controllers and a view. This example does not implement namespaces. Services are defined in `public/index.php` without using `Di\FactoryDefault`. This example uses Volt as template engine: 这是一个非常简单的[MVC][mvc-pattern]示例,它包含一个模型,两个控制器和一个视图. 这个示例没有命名空间.服务在`public/index.php`中使用`Di\FactoryDefault`定义. 这个示例使用Volt模板引擎: ``` simple-volt/ ├── app │   ├── config │   │   ├── config.php │   │   ├── loader.php │   │   └── services.php │   ├── controllers │   │   ├── ControllerBase.php │   │   └── IndexController.php │   └── views │   ├── index │   │   ├── index.volt │   │   └── test.volt │   ├── index.volt │   └── layouts │   └── template.volt ├── index.html └── public └── index.php ``` ## Simple-Subcontrollers 这是一个简单的[MVC][mvc-pattern]示例,它包含一个模型,三个控制器和一个视图. 路由在`app/config/routes.php`中定义.一些路由指向一个控制器`controllers/`的子目录: ``` simple-subcontrollers/ ├── app │   ├── config │   │   ├── config.php │   │   ├── loader.php │   │   ├── routes.php │   │   └── services.php │   ├── controllers │   │   ├── ControllerBase.php │   │   ├── UsersController.php │   │   └── admin │   │   ├── ControllerBase.php │   │   └── UsersController.php │   └── views │   ├── admin │   │   └── users │   │   └── index.volt │   ├── index │   │   └── index.volt │   ├── index.volt │   └── users │   └── index.volt ├── index.html └── public └── index.php ``` ## Simple-Without-Application 一个简单的[MVC][mvc-pattern]结构没有使用了 `Phalcon\Mvc\Application` . 这个示例没有命名空间.讲的是如何实现类似于 `Phalcon\Mvc\Application` 的功能来替代它. 它还在 `public/index.php` 中定了了依赖注入,用于替换 `Di\FactoryDefault` (**注入工厂/预定义依赖注入**). ``` simple-without-application/ ├── apps │   ├── controllers │   │   ├── IndexController.php │   │   └── ProductsController.php │   ├── models │   │   └── Products.php │   └── views │   └── products │   └── index.phtml └── public └── index.php ``` ## Single 这是一个没有命名空间的单模块 [MVC][mvc-pattern] 结构.你可以找到一个模块目录在 `apps/` 文件夹下. 这个示例没有命名空间.所有的服务在 `public/index.php` 中进行初始化. 此外,在这个文件中你还可以找到一个 `Application` 类,这个类初始化了服务和自动加载器,并按照功能进行了方法定义. ``` single ├── apps │   ├── controllers │   │   ├── IndexController.php │   │   └── ProductsController.php │   ├── models │   │   └── Products.php │   └── views │   ├── index.phtml │   └── products │   ├── index.phtml │   └── test.phtml └── public └── index.php ``` ## Single-Namespaces 这是一个采用了命名空间的单模块 [MVC][mvc-pattern] 结构.你可以找到一个模块目录在 `apps/` 文件夹下. 这个示例使用了命名空间.所有的服务在 `public/index.php` 中进行初始化. 此外,在这个文件中你还可以找到一个 `Application` 类,这个类初始化了服务和自动加载器,并按照功能进行了方法定义. ``` single-namespaces/ ├── apps │   ├── controllers │   │   ├── IndexController.php │   │   └── ProductsController.php │   ├── models │   │   └── Products.php │   └── views │   └── products │   └── index.phtml └── public └── index.php ``` ## Single-Factory-Default A single-module [MVC][mvc-pattern] structure as is generated by [Phalcon Developer Tools][devtools]. Instead of initialize every service individually, it uses `Di\FactoryDefault`: 由 [Phalcon开发工具][devtools] 生成的单模块 [MVC][mvc-pattern] 结构. 它没有单独的去初始化服务,而是采用了 `Di\FactoryDefalut` : ``` single-factory-default/ ├── app │   ├── config │   │   └── config.php │   ├── controllers │   │   ├── ControllerBase.php │   │   ├── IndexController.php │   │   └── TestController.php │   └── views │   ├── index │   │   └── index.phtml │   └── index.phtml ├── index.html └── public └── index.php ``` ## Single-Camelized-Dirs 这是一个单模块 [MVC][mvcpattern] 结构。所有文件和目录都被驼峰化(包括视图): ``` single-camelized-dirs/ ├── App │   ├── Config │   │   ├── Loader.php │   │   └── Services.php │   ├── Controllers │   │   ├── IndexController.php │   │   └── ProductsController.php │   ├── Models │   │   └── Products.php │   └── Views │   ├── Index │   │   └── Index.phtml │   └── Products │   └── Index.phtml └── public └── index.php ``` ## Single-Service-Provider 这是一个单模块[MVC][mvc-pattern]结构,显示了一种非标准的服务注册方式: ``` single-service-provider/ ├── app │   ├── Bootstrap.php │   ├── Http │   │   ├── Controllers │   │   │   ├── Controller.php │   │   │   └── IndexController.php │   │   └── routes.php │   ├── Models │   └── Providers │   ├── AbstractServiceProvider.php │   ├── ConfigServiceProvider.php │   ├── DatabaseServiceProvider.php │   ├── EscaperServiceProvider.php │   ├── EventManagerServiceProvider.php │   ├── ModelsMetadataServiceProvider.php │   ├── MvcDispatcherServiceProvider.php │   ├── PhpTemplateEngineServiceProvider.php │   ├── ResponseServiceProvider.php │   ├── RouterServiceProvider.php │   ├── ServiceProviderInterface.php │   ├── SessionServiceProvider.php │   ├── TagServiceProvider.php │   ├── UrlResolverServiceProvider.php │   ├── ViewServiceProvider.php │   └── VoltTemplateEngineServiceProvider.php ├── bootstrap │   └── autoload.php ├── config │   ├── application.php │   └── providers.php ├── index.html ├── public │   └── index.php ├── resources │   └── views │   ├── index │   │   └── index.volt │   ├── index.volt │   └── partials │   └── content.volt └── storage ├── cache │   ├── data │   └── volt └── logs ``` ## Multiple This a multi-module [MVC][mvc-pattern] structure.. You can define which routes use one module or another in `public/index.php`: 这是一个多模块 [MVC][mvc-pattern] 结构.这个例子实现了两个模块:前端和后端. 默认情况下,如果不要求路由到后端,则提供前端. 你可以在 `public/index.php` 定义一些路由使用一个模块或者自定义模块. ``` multiple/ ├── apps │   ├── backend │   │   ├── Module.php │   │   ├── controllers │   │   │   ├── IndexController.php │   │   │   ├── LoginController.php │   │   │   └── ProductsController.php │   │   ├── models │   │   │   └── Products.php │   │   └── views │   │   ├── login │   │   │   └── index.phtml │   │   └── products │   │   └── index.phtml │   └── frontend │   ├── Module.php │   ├── controllers │   │   ├── IndexController.php │   │   ├── ProductsController.php │   │   └── UsersController.php │   ├── models │   │   └── Products.php │   └── views │   ├── index │   │   └── index.phtml │   └── products │   └── index.phtml └── public └── index.php ``` ## Multiple-Volt 这是一个多模块的使用了 Vole模板引擎的 [MVC][mvc-pattern] 结构.这个例子实现了两个模块:前端和后端. 默认情况下,如果不要求路由到后端,则提供前端. 你可以在 `public/index.php` 定义一些路由使用一个模块或者自定义模块. 模板引擎使用的是 Volt: ``` multiple-volt/ ├── apps │   └── frontend │   ├── Module.php │   ├── config │   │   └── config.php │   ├── controllers │   │   ├── ControllerBase.php │   │   └── IndexController.php │   └── views │   ├── index │   │   ├── index.volt │   ├── index.volt ├── config │   ├── modules.php │   └── services.php ├── index.html └── public └── index.php ``` ## Multiple-Shared-Views 这是一个多模块[MVC][MVC -pattern]结构,有一个主视图目录: ``` multiple-shared-views/ ├── apps │   ├── common │   │   └── views │   │   ├── index │   │   │   └── index.phtml │   │   ├── index.phtml │   │   └── products │   │   └── index.phtml │   └── modules │   ├── backend │   │   ├── Module.php │   │   ├── controllers │   │   │   ├── IndexController.php │   │   │   └── ProductsController.php │   │   └── models │   │   └── Products.php │   └── frontend │   ├── Module.php │   └── controllers │   └── IndexController.php └── public └── index.php ``` ## Multiple-Factory-Default 这是一个多模块[MVC][mvc-pattern]结构,由[Phalcon Developer Tools][devtools]生成: ``` multiple-factory-default/ ├── apps │   └── frontend │   ├── Module.php │   ├── config │   │   └── config.php │   ├── controllers │   │   ├── ControllerBase.php │   │   └── IndexController.php │   └── views │   ├── index │   │   └── index.phtml │   └── index.phtml ├── index.html └── public └── index.ph ``` ## Multiple-Service-Layer-Model 这是一个多模板的 [MVC][mvc-pattern]目录结构,它实现了服务层. ``` multiple-service-layer-model/ ├── apps │   ├── config │   │   ├── config.php │   │   ├── modules.php │   │   └── services.php │   ├── models │   │   ├── entities │   │   │   └── User.php │   │   ├── repositories │   │   │   ├── Exceptions │   │   │   │   └── InvalidRepositoryException.php │   │   │   ├── Repositories.php │   │   │   └── Repository │   │   │   └── User.php │   │   └── services │   │   ├── Exceptions │   │   │   └── InvalidServiceException.php │   │   ├── Service │   │   │   └── User.php │   │   └── Services.php │   └── modules │   └── frontend │   ├── Module.php │   ├── controllers │   │   ├── ControllerBase.php │   │   └── IndexController.php │   └── views │   ├── index │   │   └── index.phtml │   └── index.phtml ├── database.sql ├── index.html ├── public │   └── index.php └── tests ├── Services │   └── UserServiceTest.php ├── TestHelper.php ├── UnitTestCase.php └── phpunit.xml ``` ## Micro 这是一个似于微框架的应用程序示例: ``` micro └── index.php ``` ## Micro-Factory-Default 由[Phalcon开发工具][devtools]生成的类似于微框架的应用程序: ``` micro-factory-default/ ├── config │   └── config.php ├── index.html ├── public │   └── index.php └── views ├── 404.phtml └── index.phtml ``` ## Micro-Simple-Views 一个类似于微框架的应用程序,其中的视图是使用 `Phalcon\Mvc\View\Simple` 呈现的: ``` micro-simple-views ├── config │   ├── config.php │   └── services.php ├── index.php └── views ├── 404.volt ├── 500.volt └── index.volt ``` ## License Phalcon MVC Examples is open source software licensed under the New BSD License. See the LICENSE.txt file for more.
Copyright (c) 2011-2016, Phalcon Framework Team [devtools]: https://github.com/phalcon/phalcon-devtools [mvc-pattern]: https://en.wikipedia.org/wiki/Model–view–controller