Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/phalcon/mvc
Phalcon MVC Examples
https://github.com/phalcon/mvc
mvc-pattern phalcon-mvc php
Last synced: about 2 months ago
JSON representation
Phalcon MVC Examples
- Host: GitHub
- URL: https://github.com/phalcon/mvc
- Owner: phalcon
- License: other
- Created: 2012-08-11T21:24:57.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2023-07-14T08:51:37.000Z (over 1 year ago)
- Last Synced: 2024-08-04T01:04:49.881Z (5 months ago)
- Topics: mvc-pattern, phalcon-mvc, php
- Language: PHP
- Size: 196 KB
- Stars: 818
- Watchers: 116
- Forks: 323
- Open Issues: 4
-
Metadata Files:
- Readme: README-CN.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-phalcon - MVC - Examples of Phalcon MVC file structures (Application Skeleton)
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