chrisnoden / synergy1
Synergy1 轻量级MVC框架,用于快速模板驱动的Web部署。同时提供对Propel2模型的RESTful接口。
dev-master
2017-07-27 20:44 UTC
Requires
- php: >=5.5.9
- ext-curl: *
- ext-date: *
- ext-mbstring: *
- ext-pcre: *
- ext-reflection: *
- ext-spl: *
- eloquent/enumeration: 5.1.*
- mobiledetect/mobiledetectlib: 2.*
- pimple/pimple: 2.0.*
- psr/log: 1.0.*
- roave/security-advisories: dev-master
Requires (Dev)
- monolog/monolog: 1.*
- phpmd/phpmd: @stable
- phpunit/phpunit: 4.1.*
- propel/propel: dev-master
- smarty/smarty: 3.1.*
- squizlabs/php_codesniffer: 1.*
Suggests
- monolog/monolog: Psr compliant logging with loads of plugins available
- smarty/smarty: Fast template handling
This package is auto-updated.
Last update: 2024-08-29 04:45:21 UTC
README
==============================
轻量级MVC框架,用于快速模板驱动的Web部署
Synergy是一个PHP框架,旨在促进轻松、快速地提供Web服务,而无需花费数周时间学习其工作原理。
它并非打算取代像Symfony、Yii或Zend这样强大、流行但难以掌握的框架。然而,它确实提供了一些这些大型框架所不具备的功能。
Synergy的诞生源于我在尝试学习上述大型框架时的挫败感,以及意识到它们没有提供我认为重要的功能。
亮点
- 快速、简单且强大的路由
- 匹配主机(www.mysite.com)
- 匹配路径(/foo/bar)
- 匹配SSL或非SSL方案
- 匹配HTTP方法(GET、HEAD、POST、PUT、DELETE、OPTIONS)
- 匹配设备(移动、平板、桌面、控制台)
- 路由也可以用于将控制台(CLI)命令匹配到控制器
- 轻松从路由配置中传递选项到您的控制器
- 所有不匹配映射的路由参数都可供控制器使用
- 客户端信息可供控制器使用(设备类型、浏览器平台、浏览器类型和版本)
- 使用Smarty或Twig模板(或纯旧HTML)为视图
- 使用您选择的任何Model/ORM(我喜欢Propel2)
- 使用任何PSR-3 logger(或者如果您是叛逆者,则不使用logger)
- 非常轻量级的代码库,兼容PHP 5.4+
- 单元测试驱动开发
配置变量替换
- %config.dir%:config.yml文件所在的目录
- %synergy.dir%:Synergy类所在的目录
如何使用
简单开始是使用Composer并使用Synery安装脚本。一个示例composer.json文件
{
"name": "myproject/project",
"type": "project",
"description": "My Web Project",
"license": "proprietary",
"extra":
{
"namespace": "Developer\\ProjectNamespace"
},
"require": {
"php": ">=5.4.13",
"chrisnoden/synergy1": "dev-master",
"smarty/smarty": "3.1.*",
"monolog/monolog": "1.7.*"
},
"autoload": {
"psr-4": { "MyProject\\Project\\": "src/" }
},
"scripts": {
"post-update-cmd": "ChrisNoden\\Synergy\\Construct\\Install::postUpdate",
"post-install-cmd": "ChrisNoden\\Synergy\\Construct\\Install::postInstall"
}
}
在“namespace”参数中设置您的命名空间非常重要。这有助于Synergy1安装脚本配置起始环境。
在项目的根目录中创建一个composer.json文件,然后运行
$ composer install
这将从composer.json文件的“require”块中获取所有库,如果一切顺利,然后运行Synergy的安装脚本,配置目录并创建一个测试页面。
然后,您只需创建一个Apache配置文件,将其链接到项目根目录的web文件夹
Synergy1安装脚本为您创建了一个推荐的文件夹结构,并创建了一个初始配置文件、路由文件和控制器。