标题: 初学者的ZFRC2测试DEMO
  本主题由 haohappy 于 2007-12-21 12:56 设置高亮 
mmocom
注册会员
Rank: 2



UID 58
精华 6
积分 70
帖子 21
翻译 0
原创 1
阅读权限 20
注册 2007-6-6
状态 离线
发表于 2007-6-12 13:32  资料  短消息  加为好友  添加 mmocom 为MSN好友 通过MSN和 mmocom 交谈
初学者的ZFRC2测试DEMO

~~~由于工作原因 近段时间无法持续更新~~请大家见谅~~
index.php引导文件

PHP代码如下:
error_reporting(E_ALL|E_STRICT);

date_default_timezone_set('Asia/Shanghai');

//目录分隔符号
$ds DIRECTORY_SEPARATOR;
//路径分隔符号
$ps PATH_SEPARATOR;
$ABS_ROOT_PATH realpath(dirname(__FILE__));
$REL_ROOT_PATH =  substr($_SERVER['PHP_SELF'], strpos($_SERVER['PHP_SELF'],'/index.php'));

set_include_path('.'.PATH_SEPARATOR.'./library'
    
.PATH_SEPARATOR.'./application/models/'
    
.PATH_SEPARATOR.get_include_path());

require(
'Zend/Loader.php');

//自动加载类
function __autoload($class){
    
Zend_Loader::loadClass($class);
}

//数据库配置
$dbParams = new Zend_Config_Ini('./config/database.ini','CMSDB');
$db Zend_Db::factory($dbParams->adapter,$dbParams->toArray());
$db->query("set names {$dbParams->charset};");
Zend_Db_Table::setDefaultAdapter($db);
Zend_Registry::set('db',$db);


//SMARTY配置
$smartyParams = new Zend_Config_Ini('./config/smarty.ini''Smarty');
$smarty = new Custom_View_Smarty($smartyParams->toArray());
Zend_Registry::set('smarty',$smarty);


//初始控制器
$frontController Zend_Controller_Front::getInstance();
$frontController->throwExceptions(true);
$frontController->setControllerDirectory(array(
      
'default' => './application/modules/default/controllers',
      
'admin'    => './application/modules/admin/controllers'
));
$frontController->addModuleDirectory('./application/modules');
$frontController->setParam('noViewRenderer',true); 
$frontController->setBaseUrl($REL_ROOT_PATH);

try{
    
$frontController->dispatch();
}catch(
Zend_Controller_Dispatcher_Exception $e){
    
$frontController->getResponse()->setHttpResponseCode(404);
    
$frontController->getResponse()->__toString();
}



database.ini

[CMSDB]
adapter=pdo_mysql
host=localhost
username=root
password=
dbname=cms
charset=gbk

smarty.ini

[Smarty]
left_delimiter                =        "{"
right_delimiter                =        "}"
template_dir                =        "./www/templates"
compile_dir                =        "./www/templates_c"

application\modules\default\controllers\IndexController.php

PHP代码如下:
class IndexController extends Zend_Controller_Action
{
    public function 
init()
    {
        
$this->db Zend_Registry::get('db');
        
$this->smarty Zend_Registry::get('smarty');
    }
    
    public function 
indexAction()
    {
        echo 
'Hello from IndexController';
        
$this->smarty->display('index.html');
    }
    
    
    public function 
__call($method$args)    
    {        
        if (
'Action' == substr($method, -6)) 
        {            
            
// If the action method was not found, forward to the index action
            //如果action方法没有找到,则转向到index action           
            
return $this->_forward('index');        
        }        
        
// all other methods throw an exception 
        //所有其他的方法则扔出一个错误信息  
        
throw new Exception('Invalid method "' $method '" called');    
    }
    
    public function 
noRouterAction()
    {
        
$this->_redirect('/');
    }
}



application\modules\admin\controllers\IndexController.php

PHP代码如下:
class Admin_IndexController extends Zend_Controller_Action
{
    public function 
init()
    {}
    
    public function 
indexAction()
    {
        echo 
'Hello from Admin_IndexController-indexAction';
    }
}



/********************************************************************************************************
感谢ZF MSN群里的 Haohappy,beyond_dream,萧林,Ken,周超,黔驴,phpwb
和phpeye论坛里的wanghaozi,linren119 等等
~~~给我的热心帮助~~谢谢大家~~^*^
版本:ZFRC2
更新日期:2007年6月26日
********************************************************************************************************/
DEMO主要功能~~都是一些常用的 必须的功能哈~~希望大家能用到

简单的数组显示/smarty---SmartyController.php

简单的数据操作/sql-----SqlController.php

综合:验证用户是否可以访问+采用Smarty的视图 + 数据表单(添加、修改、删除)+翻页的操作/form----FormController.php

用户认证操作/auth----AuthController.php

SESSION的一些简单操作/session----SessionController.php


附件下载:更新于20070626~~~ 附件下载 版本原因 暂停下载 敬请谅解

版本日志:
0623:这次版本改动很小~~修改了smarty view 添加了auth~~如果有错误请更帖~~我会尽快修正~~谢谢
0626:这次版本添加了一个翻页功能,还添加了一些SESSION的简单操作

[ 本帖最后由 mmocom 于 2008-1-2 17:21 编辑 ]



 附件: 您所在的用户组无法下载或查看附件
顶部
smallcat
新手上路
Rank: 1



UID 65
精华 2
积分 20
帖子 10
翻译 0
原创 0
阅读权限 10
注册 2007-6-9
状态 离线
发表于 2007-6-13 23:14  资料  短消息  加为好友  添加 smallcat 为MSN好友 通过MSN和 smallcat 交谈
写的不错,最近刚好打算学习一下ZF。正好当作参考。谢谢

顶部
beyond_dream
新手上路
Rank: 1



UID 71
精华 0
积分 0
帖子 1
翻译 0
原创 0
阅读权限 10
注册 2007-6-12
状态 离线
发表于 2007-6-14 22:16  资料  短消息  加为好友  添加 beyond_dream 为MSN好友 通过MSN和 beyond_dream 交谈
UP

明天到公司去测试下

顶部
gbbnvc
新手上路
Rank: 1



UID 80
精华 0
积分 0
帖子 7
翻译 0
原创 0
阅读权限 10
注册 2007-6-17
状态 离线
发表于 2007-6-17 00:13  资料  短消息  加为好友  添加 gbbnvc 为MSN好友 通过MSN和 gbbnvc 交谈
写的不错





顶部
wanghaozi
新手上路
Rank: 1



UID 19
精华 0
积分 0
帖子 17
翻译 0
原创 0
阅读权限 10
注册 2007-5-7
状态 离线
发表于 2007-6-20 18:13  资料  短消息  加为好友  添加 wanghaozi 为MSN好友 通过MSN和 wanghaozi 交谈
提个建议



$dbparam = array ('host' => $config->database->host,
        'username'        =>        $config->database->username,
        'password'        =>        $config->database->password,
        'dbname'        =>        $config->database->dbname);
        
$db = Zend_Db::factory($config->database->type,$dbparam);

这段可以用下面的来代替

$db = Zend_Db::factory($config->database->type,$config->database->toArray());

目前最新版本的zf 里面  Zend_Config_Ini 的 把原来地asArray()方法给去除了 统一用toArray() ,个人觉得zf开始从细节上进行修改了





蚂蚁
顶部
mmocom
注册会员
Rank: 2



UID 58
精华 6
积分 70
帖子 21
翻译 0
原创 1
阅读权限 20
注册 2007-6-6
状态 离线
发表于 2007-6-20 23:50  资料  短消息  加为好友  添加 mmocom 为MSN好友 通过MSN和 mmocom 交谈


QUOTE:
原帖由 wanghaozi 于 2007-6-20 18:13 发表

$dbparam = array ('host' => $config->database->host,
        'username'        =>        $config->database->username,
        'password'        =>        $config->database->password,
        'dbname' ...

谢谢~~我将在以后的版本进行改进~~~

顶部
linren119
新手上路
Rank: 1



UID 94
精华 0
积分 0
帖子 5
翻译 0
原创 0
阅读权限 10
注册 2007-6-21
状态 离线
发表于 2007-6-21 17:10  资料  短消息  加为好友 
section模块无法显示是由于数组下标不规范引起的,有3种方法解决:
1、把数组下标去掉,默认0,1,2,3。。。即可
2、规范数组下标,参考section的start和step参数
3、改成这样的方式:
数组:$val2[] = array(9 => 'Tennis', 3 => 'Swimming', 8 => 'Coding');
模板:
{section name=customer2 loop=$disval2}
     <li>id: {$disval2[customer2].9}</li>
<li>id: {$disval2[customer2].3}</li>
<li>id: {$disval2[customer2].8}</li>
{/section}

顶部
mmocom
注册会员
Rank: 2



UID 58
精华 6
积分 70
帖子 21
翻译 0
原创 1
阅读权限 20
注册 2007-6-6
状态 离线
发表于 2007-6-23 01:04  资料  短消息  加为好友  添加 mmocom 为MSN好友 通过MSN和 mmocom 交谈


QUOTE:
原帖由 linren119 于 2007-6-21 17:10 发表
section模块无法显示是由于数组下标不规范引起的,有3种方法解决:
1、把数组下标去掉,默认0,1,2,3。。。即可
2、规范数组下标,参考section的start和step参数
3、改成这样的方式:
数组:$val2[] = array(9 => 'Tennis', 3 => 'Sw ...

谢谢哈~~我会在以后的版本里~·  改正

顶部
chenjiafeng
新手上路
Rank: 1



UID 123
精华 0
积分 0
帖子 4
翻译 0
原创 0
阅读权限 10
注册 2007-6-26
状态 离线
发表于 2007-6-26 17:55  资料  短消息  加为好友  添加 chenjiafeng 为MSN好友 通过MSN和 chenjiafeng 交谈
这也是写给初学者看的?

顶部
mmocom
注册会员
Rank: 2



UID 58
精华 6
积分 70
帖子 21
翻译 0
原创 1
阅读权限 20
注册 2007-6-6
状态 离线
发表于 2007-6-26 21:06  资料  短消息  加为好友  添加 mmocom 为MSN好友 通过MSN和 mmocom 交谈


QUOTE:
原帖由 chenjiafeng 于 2007-6-26 17:55 发表
这也是写给初学者看的?

确实很多都封装成类~~看起来可能会有点难度~~不过其实很简单的哈~~不懂多问下哦~~

顶部
 


PHPEye开源社区


当前时区 GMT+8, 现在时间是 2008-12-3 04:42

    Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
Processed in 0.168555 second(s), 7 queries , Gzip enabled

清除 Cookies - 联系我们 - PHPEye开源社区 - Archiver