typecho framework是70写的一个框架。据说是参考了java的思想。
项目地址:https://github.com/typecho/framework
参考项目:https://github.com/typecho/framework-example
1.一切hello world开始
先clone这个example,然后我们要写个控制器,在action文件夹下新建Hello.php
namespace Example\Action;
use TE\Mvc\Action\AbstractAction;
class Hello extends AbstractAction
{
public function execute()
{
return array('content', 'Hello World');
}
}
框架的主要想法是通过一个主出口返回各种需要的相应,比如content是指直接输出,换成template是把数据传到模板里,换成json就是把数据生成一个json。
要先页面上显示我们还需要写一下路由。
打开config\routes.php
return array(
'/' => 'Example\Action\Index',
'/hello' => 'Example\Action\Hello'
);
由于example中有用到数据库,我们先注释掉。index.php文件中
Base::setInjectiveObjects(require(ROOT . '/../config/injects.php'));
注释这行。
然后这样可以通过访问{fileroot}/portal/index.php/hello看到输出了hello world。
2.用模板输出
还是Action\Hello.php里,我们改execute函数
public function execute()
{
$this->word = 'Hello World';
return array('template', 'hello.php');
}
然后我们在template中新建一个hello.php文件
<?php echo $word; ?>
就可以看到页面输出hello world
3.把参数传入控制器
比如
http://192.168.33.10/framework-example/portal/index.php/hello?p=hello%20world
把p=hello world传入hello中
public function execute()
{
$this->word = $this->request->get('p');
return array('template', 'hello.php');
}
这样我们就在页面上看到hello world。
先这样
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。