MayFish PHP的MVC架构的开发框架


  本文标签:MayFish,PHP,MVC

框架工作流程:
加载框架文件》加载参数设置对象》进行初始化设置》加载项目设置参数》获取控制器及控制器方法》执行控制器事件

使用实例为:
复制代码 代码如下:

<?php
class DefaultController extends AppController
{
protected $components = array(smarty);
/** 默认事件(方法) */
public function index()
{
$db_test = M(members); //加载并实例化一个模型
/** 添加数据 */
$data = array(
title => 写入测试,
body => 写入的内容,
);
$result = $db_test->create($data);
if(FALSE != $result)
{
dump("<p><strong>exampel 1:</strong><br />数据写入成功!</p>");
}
/** 添加多条数据 */
dump("<p><strong>exampel 2:</strong><br />");
$data = array(
array(title=>数据1, body=>内容1),
array(title=>数据2, body=>内容2),
array(title=>数据3, body=>内容3),
array(title=>数据4, body=>内容4),
array(title=>数据5, body=>内容5),
);
foreach($data as $item)
{
$result = $db_test->create($item);
if(FALSE != $result)
{
dump("数据<strong>".$item[title]."</strong>写入成功!<br />");
}
}
dump("</p>");
/** 更新数据 */
$data = array(title=>修改数据标题, body=>修改数据内容);
$result = $db_test->where(array(id=>3))->update($data);
if(FALSE != $result)
{
dump("<p><strong>exampel 3:</strong><br />数据更新成功!</p>");
}
/** 删除数据 */
$result = $db_test->where("id=5")->remove();
if(FALSE != $result)
{
dump("<p><strong>exampel 3:</strong><br />数据删除成功!</p>");
}
/** 执行数据查询,使用连贯的操作符 */
$db_test->where(array(id=>12, action=>1))
->order("`id` DESC")
->fields("id,name,action")
->findAll();
$this->shownav();
}
//图片处理事件
public function image()
{
$file = Configure::read(app_path)./yagas/K750c_small_06.jpg;
$im = M(SYS, image); //加载并实例化一个系统模型
$im->th_width = 200;
$im->th_height = 150;
$im->thumb($file, null, false);
}
/** 另一个控制器事件 */
public function admin()
{
dump($this);
$this->shownav();
}
/** 另一个控制器事件 */
public function info()
{
$this->shownav();
phpinfo();
}
/** 这是一个内部事件,无法从浏览器地址进行访问 */
private function shownav()
{
echo <a href="/">访问默认事件</a> | <a href="?a=admin">访问事件 admin</a> | <a href="?a=info">访问事件 info</a>;
}
}
?>





 
 
 

单个空间多个站点的实现
复制代码 代码如下:

<?php
header(Content-type:text/html; charset=utf-8);
include_once(./MayFish/init.php); //加载MFS框架


$domain = $_SERVER[HTTP_HOST];


switch($domain) {
case s1.xinxi169.com.cn:
Configure::write(app_name, app);
Configure::write(app_path, dirname(__FILE__)./app);
break;



case www.aike8.cn:
case aike8.cn:
Configure::write(app_name, aike8);
Configure::write(app_path, dirname(__FILE__)./aike8);
break;
}


$app = new application();
$app->run();
?>

下载地址 http://www.jb51.net/codes/20169.html