Zend Framework 配置与应用
发布:smiling 来源: PHP粉丝网 添加日期:2013-11-14 20:47:29 浏览: 评论:0
环境配置
Apache要开启rewrite模块即 :LoadModule rewrite_module modules/mod_rewrite.so
Zendframe work默认使用pdo连接数据库,需开启pdo和pdo_mysql(或其他数据库)扩展入口文件目录(下面即将要配置的public目录)允许重写 AllowOverride All
项目配置
是zendframe work主框架文件解压压缩包,并将解压放到library目录中得到目录结构如下配置虚拟主机,其中public目录为入口文件所在目录(根目录),为了安全此目录设置为web跟目录即可 /configs/application.ini为配置文件,可以配置错误信息以及数据库配置
default为默认模块
访问 域名/index/index 会访问到IndexController.php中的indexAction方法以及渲染views/scripts/index/index.phtml视图
增加模块
例如增加admin模块,复制default文件夹重命名为admin 注意此时类名应这样定义Admin_IndexController,即每个类名前加前缀Admin_,文件名不变. 如果要访问admin模块则访问地址 域名/admin/index/index 应用 控制器中的 init()方法为初始化方法:执行任何一个方法前都将执行此方法. 因此可以在此做一些初始化以及权限的限制.
zf框架中的视图文件默认不存在模板引擎,可以直接书写html代码或者php代码
控制器中定义$this->view->user = '张三'; 那么在视图中echo $this->user;即可输出张三.
- $this->getHelper('ViewRenderer')->setNoRender();//不渲染默认视图
- $this->render('index');//渲染自定义的视图
- $request = $this->getRequest(); //获取请求变量 post/get
- $request->getParams();//获取所有请求的数据post/get
- $this->getRequest()->getParam('id');//根据指定的下标获取对应数据
- $request->getPost(); //获取所有post数据
- $request->isPost();//是否是post请求 返回true或false
数据库的操作
不使用模型的情况:获得db对象 $db = Zend_Registry::get('dbAdapter');//获取注册变量(设置的时候 通过Zend_Registry::set('dbAdapter',$dbAdapter);)参见Bootstrap.php
增加数据:
$data = array('uname' => 'zhangsan','stat' => 1,'account' => 10);
$db->insert('userinfo',$data); //这里的userinfo是表名
echo $db->lastinsertid(); //获取最后自增id
删除数据:
$db->delete('userinfo','id=2');
修改数据:
$db->update('userinfo',array('uname' => 'ijijij'),'id=5');
查询数据:
$db->fetchAll("select * from userinfo");
建立模型,在application/default/models目录下,一般文件名和表名相同首字母大写例如Userinfo.php
模型内容
- class Userinfo extends Zend_Db_Table{
- protected $_name ="userinfo"; //可以重新定义表名
- protected $_primary = 'id'; //可以重新定义主键
- }
实例化模型$db = new Userinfo();
增加数据:
$data = array('uname' => 'rrrr','stat' => 44,'account' => 10);
$db->insert($data);
删除数据:
$db->delete('id=5');
修改数据:
$db->update($data,'id=6');
查询数据:
根据主键查询$db->find(1);或者$db->find('1,2,3');
取多条数据
- $order = 'first_name';
- $count = 10; $offset = 20;
- $db->fetchAll($where, $order, $count, $offset);
- 取所有数据
- $db->fetchAll()->toArray();
- Zend文件缓存
- $frontendOptions = array(
- 'lifeTime' => 30, // 缓存生命期 单位 秒
- 'automatic_serialization' => true
- );
- $backendOptions = array(
- 'cache_dir' => APPLICATION_PATH . '/cache/' // 放缓存文件的目录
- );
- // 取得一个Zend_Cache_Core 对象
- $cache = Zend_Cache::factory(
- 'Core',
- 'File',
- $frontendOptions,
- $backendOptions
- );
- echo '
- ';
- //先在缓存中查询
- if(!$result = $cache->load('userinfo')) {
- $result = $this->db->fetchAll('select * from userinfo');
- //缓存的内容,名字
- $cache->save($result, 'userinfo');
- } else {
- echo "
- 此内容已生成缓存!!
- ";
- }
- //$cache->remove('userinfo'); //清空缓存
- print_r($result);
Tags: Zend Framework 配置
相关文章
- ·zend studio常见问题解答(2013-11-14)
- ·zend framework 实例(2013-11-14)
- ·zend studio字体,颜色,快捷键等相关设置(2013-11-14)
- ·zend studio操作(2013-11-14)
- ·zend 邮件插件(2013-11-14)
- ·Zend Server全球发展势头强劲(2013-11-14)
- ·Zend Studio 3.0使用手记(2014-01-13)
- ·zend studio 5.5中文乱码解决方法(2014-08-02)
- ·zend framework Invalid command RewriteEngine(2014-08-04)
- ·Zend Framework页面缓存实例(2021-03-02)
- ·Zend Framework 2.0事件管理器(The EventManager)入门教程(2021-03-30)
- ·Zend Framework连接Mysql数据库实例分析(2021-07-18)
- ·Zend Framework入门知识点小结(2021-07-18)
- ·Zend Framework教程之Zend_Db_Table用法详解(2021-07-18)
- ·Zend Framework教程之Zend_Db_Table_Row用法实例分析(2021-07-20)
- ·Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析(2021-07-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)