fuxie / utopia-php-framework
此包已被废弃,不再维护。未建议替代包。
一个简单、轻量且先进的PHP框架
v2.0.1
2015-07-17 09:15 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2015-07-17 09:22:03 UTC
README
Utopia框架是一个基于MVC的框架,具有专业和高级Web开发所需的最小必备功能。任何额外的功能,如认证、缓存,都将作为独立模型提供,以保持框架核心的简洁、轻量且易于学习。
截至版本1.0 RC4,Utopia核心仅包含14个文件,少于1500行代码。
示例应用
结构
- app
- controllers
- DefaultController.php
- models
- Router.php
- views
- app/view/default/index.phtml
- controllers
- public
- styles
- scripts
- index.php
public/index.php
require '../vendor/autoload.php';
$utopia = Utopia\Application::getInstance()
->setRouter(new Skeleton\Router)
;
$utopia->run();
app/models/Router.php
namespace Skeleton;
class Router extends \Utopia\Router {
public function init()
{
}
/**
* @return String
*/
public function getController()
{
return 'default';
}
/**
* @return String
*/
public function getAction()
{
return 'index';
}
/**
* @param string $action
* @param string $controller
* @param array $vars
* @return string
*/
public function getUrl($action, $controller, array $vars = array())
{
return '/?controller=default&action=index';
}
}
app/controllers/DefaultController.php
use Utopia\Controller;
class DefaultController extends Controller {
public function init()
{
$this->getResponse()
->addHeader('X-UA-Compatible', 'IE=Edge');
$this->getLayout()
->setPath('../app/views/layout.phtml')
->addStyle('/styles/normalize.css')
->setTitle('Utopia Skeleton Application')
;
}
public function indexAction()
{
$this->getView()
->setParam('param1', 'value1')
->setParam('param2', 'value2')
;
}
}
app/view/default/index.phtml
<?php
/* @var $this Utopia\View */
$param1 = $this->getParam('param1', 'default1');
$param2 = $this->getParam('param2', 'default2');
$param3 = $this->getParam('param3', 'default3');
?>
<h1>Hello World!</h1>
<h2>Example usage of the view parameters</h2>
<ul>
<li>Param1: <?php echo $param1; ?></li>
<li>Param2: <?php echo $param2; ?></li>
<li>Param3: <?php echo $param3; ?></li>
</ul>
系统要求
Utopia框架需要PHP 5.4或更高版本。我们建议尽可能使用最新版本的PHP。
版本控制
为了透明度和对发布周期的洞察,以及努力保持向后兼容性,Utopia PHP框架将在可能的情况下根据语义版本控制指南进行维护。版本将按照以下格式编号
<major>.<minor>.<patch>
有关SemVer的更多信息,请访问 http://semver.org/。
Travis CI
Travis CI 是一个持续集成服务,它可以监视GitHub上的新提交,并执行构建应用程序或运行测试等脚本。Utopia-PHP-Framework项目包含一个Travis配置文件 .travis.yml,它将使Travis在您向GitHub推送时运行您的测试。
您需要启用Travis和GitHub之间的集成。有关如何操作的更多信息,请参阅Travis网站。
作者
Eldad Fux
链接
- Git仓库: https://github.com/eldadfux/Utopia-PHP-Framework
- 应用程序骨架: https://github.com/eldadfux/Utopia-PHP-Framework-Skeleton
- 贡献者: https://github.com/eldadfux/Utopia-PHP-Framework/contributors
版权和许可
MIT许可(MIT) https://open-source.org.cn/licenses/mit-license.php