restlessdev / sodapop
一个易于使用的MVC框架
dev-master
2015-06-16 19:47 UTC
Requires
- php: >=5.3.0
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有一些核心价值观指导其开发。
- 代码应该组织良好;如果一个人了解框架的基本知识,所有内容都应该很容易被发现。
- 样板代码是不必要的。让计算机处理重复的工作,它们会更喜欢这样做。
- 约定优于配置。您不需要明确声明每一件事,但您可以覆盖默认值。
- 框架应该 不干涉 并不强迫您改变您的风格。
它具有支持这些价值观的几个特性。
- 目录结构 [directory structure] 4 简洁一致,默认命名约定使查找内容变得容易。
- 对路由系统 [routing] 5 的任何更改都发生在单个文件routes.json中,因此易于管理。
- 如果为模型使用默认的命名约定(复数、下划线分隔的表名和单数、驼峰式命名的类名),则不需要声明类。
- 该框架允许您使用PHP的内置超全局变量或其自己的包装器,而不会强迫您以自己的方式做所有事情。
- 它从头开始开发,缓慢进行。它重视一致性胜过特性。
主题
Sodapop最重要(也是独特)的特性之一是它可以完全定制。它允许您将面向UI的代码(静态文件、视图和布局模板)放在单独命名的主题目录中,并通过配置选项或编程方式在它们之间切换。它还有基于主机名的[配置] 6,使其非常适合需要具有类似后端的自定义前端站点的托管解决方案。
有关更多详细信息,请参阅http://sodapop.restlessdev.com/documentation/themes。
入门指南
如果您对Sodapop感兴趣,请转到[入门指南] 7 页面以获取下一步操作的说明。