From f7cfd63a81a0d7018d6363cd8f67982cee945201 Mon Sep 17 00:00:00 2001 From: zhuyawei <13045066170@163.com> Date: Wed, 24 Apr 2019 19:31:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E6=96=87=E7=BF=BB=E8=AF=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-CN.md | 481 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 6 +- 2 files changed, 486 insertions(+), 1 deletion(-) create mode 100644 README-CN.md diff --git a/README-CN.md b/README-CN.md new file mode 100644 index 0000000..1bffb8a --- /dev/null +++ b/README-CN.md @@ -0,0 +1,481 @@ +# 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 diff --git a/README.md b/README.md index 59eb7dd..5af5ea0 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,10 @@ These are examples of [MVC][mvc-pattern] file structures you can employ using Ph For further documentation, check out the [Phalcon Docs](https://docs.phalconphp.com/). +# 其他译文 + +[中文简体](README-CN.md) + ## Simple This is a very simple [MVC][mvc-pattern] structure, it contains one model, two controllers and a view. @@ -136,7 +140,7 @@ single ## Single-Namespaces This a single-module [MVC][mvc-pattern] structure using namespaces. You can find the module's directories -under the `apps/` directory. This example does not use namespaces. All services are +under the `apps/` directory. This example does use namespaces. All services are initialized in `public/index.php`. Also, in this file, you can also find an application class that initializes services and autoloaders grouping these tasks by methods.