chrisnoden/

synergy1

Synergy1 轻量级MVC框架,用于快速模板驱动的Web部署。同时提供对Propel2模型的RESTful接口。

dev-master 2017-07-27 20:44 UTC

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安装脚本为您创建了一个推荐的文件夹结构,并创建了一个初始配置文件、路由文件和控制器。