在开源的PHP开发框架ZendFramework使用常见问题描述及解决方案 浏览:532

MVC代码编写:
控制器代码编写:

复制代码代码如下所示:
< PHP
类indexcontroller延伸zend_controller_action
{
函数init()
{
美元->注册表= zend_registry::getInstance();
美元->查看=美元->注册表'{ };
美元->视图-> URL地址=美元-> _request -> getbaseurl();

}
功能的indexAction()
{
我喜欢马刺;

$>视图>;

}
功能addaction(){
如果它超过了POST值。否则会增加页面显示。


}
}
>


在控件中写入内容:

复制代码代码如下所示:
美元->视图->词=GGG;
此视图>;
----> index.html回波美元->词;

应用程序-> config.ini
{一般}
适配器= pdo_mysql分贝。
分贝。配置主机= localhost。
db = root = root
密码=
分贝。配置。北京think_zw


配置文件被引入到框架中。

复制代码代码如下所示:
配置数据库参数,并连接到数据库
$配置=新zend_config_ini('。 / / /配置应用程序配置INI,空,真的);
zend_registry::集('config,$配置);
dbadapter美元= zend_db::厂($配置->一般->数据库->配置->通用适配器,美元->数据库->配置-> toArray());
dbadapter美元->查询(让名字utf8);
zend_db_table::setdefaultadapter($ dbadapter);
zend_registry::集('dbadapter,dbadapter美元);


单输入方式:Add方法在本地/指数/添加/访问索引模块
功能(addaction){ }(在IndexController,PHP)
默认访问是索引模块下的索引方法。

然后建立一个message.php模块中的模型

复制代码代码如下所示:
< PHP
班级留言延伸zend_db_table
{
保护_name美元=消息;
保护_primary美元= 'id';
}
>


模块实例化:

复制代码代码如下所示:
功能的indexAction()
{
$ =新(消息);实例化类数据库

数据库访问的内容
美元->视图->信息-> fetchall消息= $()-> toArray();

echo $这->视图->渲染('index。PHTML '); / /显示模板
}

作为消息的消息):







*************
修改和删除数据

复制代码代码如下所示:

KK

陆上通信线



index.phtml加入。

复制代码代码如下所示:
URL地址> / / >指数退出编辑
URL地址> / / >删除索引删除


添加一个新的方法:edit.phtml

复制代码代码如下所示:
功能EditAction(){

$ =新消息();
$ db = $消息-> getAdapter();

如果(strtolower($ _server { 'request_method ' })= = 'post){
ID =美元美元-> _request -> GETPOST('id');
CID =美元美元-> _request -> GETPOST('cid);
标题=美元美元-> _request -> GETPOST(标题);

$ =数组(
CID= CID,
标题= $标题
);
在美元美元= DB -> quoteinto(ID =,$ ID);
更新数据
$消息>更新($集,$);
unset(美元);
修改数据成功!视图-> URL地址。' / / / 指数指数>回报;
其他{ }
ID =美元美元-> _request -> getparam('id');
美元->视图->信息= $消息-> fetchall(ID = '。$id)-> toArray();
echo $这->视图->渲染('edit PHTML。);
}
}


功能delaction(){
$ =新消息();
$id =(int)美元-> _request -> getparam('id');

如果($ 0){
$ = ID =。为ID;
$消息>删除($);
}
删除数据成功!视图-> URL地址。' / / / 指数指数>回报;
}


外观异常:

复制代码代码如下所示:
致命错误:未捕获的exception'zend_controller_dispatcher_exception'with message'invalid控制器指定(指数。PHP)


解决方案:在index.php

复制代码代码如下所示:
$ FrontController = zend_controller_front::getInstance();然后加入
$ FrontController -> setparam('usedefaultcontrolleralways ',真的);


***
id 3等于上一个id=3
推荐文章1
广告