restlessdev/sodapop

一个易于使用的MVC框架

dev-master 2015-06-16 19:47 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:51:42 UTC


README

Sodapop是一个简单的PHP MVC框架。您可以在http://sodapop.restlessdev.com上了解更多信息。

其语法对使用过Ruby on Rails、Zend Framework或其他MVC框架的人来说应该非常熟悉。

快速示例

控制器 [Controller] 1

<?php
class PostController extends Sodapop_Controller {
    // this is the action definition
    public function actionView() {
	// instantiate the Post model
        $post = new Post($this->request->slug); // or $_REQUEST['slug']

        // assign it to the view
        $this->view->post = $post;
    }
}

布局 [Layout] 2

<html>
    <head>
        <title>Blog: <?= $this->post->post_title ?></title>
    </head>
    <body>
       <?= $this->viewContent ?>
    </body>
</html>

视图 [View] 2 模板

    <h2><?= $this->post->post_title ?></h2>
    <div class="post-body">
        <?= $this->post->post_body ?>
    </div>

模型 [Model] 3:在典型的CRUD操作中,Sodapop不需要显式定义模型类。有关更多详细信息,请参阅http://sodapop.restlessdev.com/documentation/models

为什么使用Sodapop?

在框架方面您有很多选择;为什么您应该考虑这个?

Sodapop有一些核心价值观指导其开发。

  1. 代码应该组织良好;如果一个人了解框架的基本知识,所有内容都应该很容易被发现
  2. 样板代码是不必要的。让计算机处理重复的工作,它们会更喜欢这样做。
  3. 约定优于配置。您不需要明确声明每一件事,但您可以覆盖默认值。
  4. 框架应该 不干涉 并不强迫您改变您的风格。

它具有支持这些价值观的几个特性。

  • 目录结构 [directory structure] 4 简洁一致,默认命名约定使查找内容变得容易。
  • 对路由系统 [routing] 5 的任何更改都发生在单个文件routes.json中,因此易于管理。
  • 如果为模型使用默认的命名约定(复数、下划线分隔的表名和单数、驼峰式命名的类名),则不需要声明类。
  • 该框架允许您使用PHP的内置超全局变量或其自己的包装器,而不会强迫您以自己的方式做所有事情。
  • 它从头开始开发,缓慢进行。它重视一致性胜过特性。

主题

Sodapop最重要(也是独特)的特性之一是它可以完全定制。它允许您将面向UI的代码(静态文件、视图和布局模板)放在单独命名的主题目录中,并通过配置选项或编程方式在它们之间切换。它还有基于主机名的[配置] 6,使其非常适合需要具有类似后端的自定义前端站点的托管解决方案。

有关更多详细信息,请参阅http://sodapop.restlessdev.com/documentation/themes

入门指南

如果您对Sodapop感兴趣,请转到[入门指南] 7 页面以获取下一步操作的说明。