kyu / frmwrk
一个简单的框架
dev-master
2014-10-03 23:08 UTC
This package is not auto-updated.
Last update: 2024-09-24 03:51:09 UTC
README
Frmwrk是一个简单且年轻的框架。目前它仅由视图-控制器系统组成(模型部分将尽快加入),但您可以使用自己的数据库管理器。
用法
只需包含由composer生成的autoload.php文件,初始化配置并实例化即可!
<?php require __DIR__ . '/../vendor/autoload.php'; $config = [ 'controllers' => __DIR__ . '/../app/Controllers/', 'views' => __DIR__ . '/views/', 'web' => __DIR__ ]; \Frmwrk\Engine::init($config); $instance = \Frmwrk\Engine::getInstance(); $instance->render();
配置
配置数组包含多个参数
- controllers:必须包含控制器文件夹的路径
- views:必须包含视图文件夹的路径
- default_controller:(默认:'index')这是默认控制器的名称
- notfound:(默认:'notfound')当请求的控制不存在时,将加载此控制器的名称
- pretty_url:(默认:true)如果启用,您将通过更清晰的方式通过URL传递变量。(参见下一部分以获取更多详细信息)
- web:这是web文件夹的路径
漂亮URL
漂亮URL功能仅用于简化URL。以下是一些示例
http://domain.tld/CONTROLLER_NAME
http://domain.tld/CONTROLLER_NAME/VAR_NAME_1/VAR_VALUE_1
http://domain.tld/CONTROLLER_NAME/VAR_NAME_1/VAR_VALUE_1/VAR_NAME_2/VAR_VALUE_2/
ect...
第一个参数,称为CONTROLLER_NAME,是要加载的控制器名称。
接下来的参数总是成对出现。第一个将是变量的名称,第二个将是值。
http://domain.tld/index/lang/fr/
will load the controller 'index' and send him the variable lang which contains 'fr'.
这些变量在当前控制器的init()函数中发送。
<?php class index extends \Frmwrk\Controller { public function init($variables) { print_r($variables['_GET']); // Will display $_GET variables print_r($variables['_POST']); // Will display $_POST variables print_r($variables['_URL']); // Will display Pretty URL variables // ... } }
模板
您现在可以在您的视图中使用PHP作为标签!目前这是模板解析器的原型版本,但它可以工作。foreach、if/elseif/else和echo可用,以下是它们的使用方法
<!-- A simple foreach --> <foreach var="array" as="value"> Value: {{_value_}} </foreach> <!-- A key/value foreach --> <foreach var="array" key="k" as="value"> Key: {{_k_}}<br/> Value: {{_value_}} </foreach> <!-- A if --> <if cond="_myvar_ == 20"> 20 <elseif cond="_myvar_ > 50"> > 50 <else> < 50 & != 20 </if> <!-- Display a var--> {{_myvar_}}
/!\ 这仍然是一个原型,将会改变!
接下来是什么?
这是一个很好的问题,我真的不知道。每当我觉得它缺少某些东西时,我都会更新这个框架。最重要的功能是数据库管理,但还有一个带缓存管理的真实模板系统要做。
问题?
如果您有任何问题或认为readme.md中缺少信息,请通知我。