书接上回:我们继续用composer扩展一些功能
安装medoo和twig
①与之前一样,只需要在composer.json中添加;然后在命令字符页中输入命令:composer update;(之后的安装都用修改命令);就可以安装成功了;
{
"name": "IMOOC PHP",
"description": "PHP Framework",
"type": "Framework",
"keywords":[
"PHP","PHP Framework"
],
"require":{
"php":">= 5.3.0",
"filp/whoops":"*",
"symfony/var-dumper":"*",
"catfan/medoo":"*",
"twig/twig":"*"
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}
②首先我们开始medoo(轻量级的PHP数据库框架, 提高开发效率!)的使用:
<pre name="code" class="php"><?php
namespace core\lib;
//use \core\lib\model;
use core\lib\conf;
class model extends \medoo <span style="color:#FF0000;">//之前我们继承的是PDO,现在改为medoo后,就可以使用medoo了;</span>
{
public function __construct()
{
$option = conf::all('database');
parent::__construct($option);
}
}
?>
③关于如何使用medoo,我们可以参考一下http://medoo.lvtao.net/doc.php;(mdeoo中文手册);
下面是有关medoo使用的范例代码;
<?php
namespace app\model;
use core\lib\model;
class kModel extends model
{
public $table='message';
//查询所有留言
public function all()
{
$ret=$this->select($this->table,'*');
//p($ret);exit;
return $ret;
}
//添加留言
public function addOne($data)
{
/* $data=array(
'name'=>$name,
'text'=>$text,
'datatime'=>$datatime
);*/
//p($data);die;
return $this->insert($this->table,$data);
}
public function delOne($id)
{
$ret = $this->delete($this->table,array(
'id'=>$id
));
if($ret !== false){
return true;
}else{
return false;
}
}
}
?>
④开始使用twig(模版引擎);我们可已参考官方为我们提供的文档;找出下面的加载代码;
public function display($name)
{
$file=APP.'/views/'.$name;
//p($file);exit;
if(is_file($file)){
\Twig_Autoloader::register();
$loader = new \Twig_Loader_Filesystem(APP.'/views');<span style="color:#FF0000;">//加入视图目录</span>
$twig = new \Twig_Environment($loader, array(
'cache' => IMOOC.'/log/twig',
'debug'=> DEBUG
));<span style="color:#FF0000;">//缓存目录写到自己的目录</span>
$template = $twig->loadTemplate($name);<span style="color:#FF0000;">//加载模版文件</span>
$template->display($this->assign?$this->assign:array());<span style="color:#FF0000;">//加载展示</span>
}else{
p('失败');exit;
};
}
⑤在视图文件中的代码
{{ data }}<span style="color:#FF0000;"> //通过{{ }}解析变量</span>
{% block content %}
{% endblock %}<span style="color:#FF0000;">//通过这个布局页面</span>
{% extends "layout.html" %}<span style="color:#FF0000;">//引入布局布局页面</span>
{% block content %}
{{ data }}
{% endblock %}
这样简单的模版应用就完成了;我们还可以通过查看手册学习更多的扩展;
到这里我们的MVC基本搭建成功,一些基本配置,加快项目开发的配置;已经基本完成;我们之后就可以用这个框架完成自己的项目了.