MayFish PHP的MVC架构的开发框架

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

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

<?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();
?>

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

相关文章

PHP nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;

将换行字符转成 <br> 。 语法 : string nl2br(string string); 返回值 : 字符串 函数种类 : 资料处理 内容说明 本函数将换行字符转换成...

php文件缓存方法总结

为大家分享很全的php文件缓存,供大家参考,具体内容如下 <?php class cache { private static $_instance = null...

php使用pdo连接报错Connection failed SQLSTATE的解决方法

本文实例讲述了php pdo_mysql连接报错Connection failed: SQLSTATE[HY000] [2002] No such file or directory问题...

解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载) 原创

解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载) 原创

这几天公司有台服务器需要配置,系统是Windows 2008 R2,在IIS上配置环境是64位的PHP5.5,要求支持wincache。原本心想无非就是去wincache的官网下载下来,...

浅析PHP的静态成员函数效率更高的原因

很多php开发人员都知道, 使用类的静态成员函数效率比类的普通成员函数的要高,本文从应用层次分析这个问题 下面是一个范例: 复制代码 代码如下:<?php // php静态方法测试...