当前位置: 首页 > 图文教程 > 网络编程 > PHP > MayFish PHP的MVC架构的开发框架

PHP
php 服务器调试 Zend Debugger 的安装教程
从Web查询数据库之PHP与MySQL篇
php 应用程序安全防范技术研究
php 不同编码下的字符串长度区分
php 生成饼图 三维饼图
PHP 字符截取 解决中文的截取问题,不用mb系列
PHP5 操作MySQL数据库基础代码
php面向对象全攻略 (一) 面向对象基础知识
php面向对象全攻略 (二) 实例化对象 使用对象成员
php面向对象全攻略 (三)特殊的引用“$this”的使用
php面向对象全攻略 (四)构造方法与析构方法
php面向对象全攻略 (五) 封装性
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
php面向对象全攻略 (七) 继承性
php面向对象全攻略 (八)重载新的方法
php面向对象全攻略 (九)访问类型
php面向对象全攻略 (十) final static const关键字的使用
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
php面向对象全攻略 (十二) 抽象方法和抽象类
php面向对象全攻略 (十四) php5接口技术

MayFish PHP的MVC架构的开发框架


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 91 ::
收藏到网摘: n/a

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').'/upload/tech/20091012/20091012021554_edfbe1afcf9246bb0d40eb4d8027d90f.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.ruanchen.com/odes/20169.html