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: 3 months ago
JSON representation

Phalcon MVC Examples

Lists

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