欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

韩顺平 PHP视频教程 zend framework 第1讲 ——第4讲 札记心得

程序员文章站 2022-05-22 08:09:24
...
韩顺平 PHP视频教程 zend framework 第1讲 ——第4讲 笔记心得

韩顺平 PHP视频教程 zend framework1 zend介绍 zend快速入门

Mvc 框架 –zend framework

zend framework的简介

1 php流行的MVC框架介绍

a zend framework

b thinkphp(国人开发)

c yii(外企用的比较多)

d cakephp

m model模型

v view 视图

c controller控制器

核心的设计思想:把数据的输入,数据的处理,数据的显示分开。

框架:有zend framework提供一个目录结构和规范,我们程序员只需要在规定的文件和位置写自己的代码就ok了。

优点:

a 程序更加规范

b 程序的开发效率提高了

c 程序的可读性增加

d 程序的可维护性增加了

不足:

配置比较复杂。

为什么有zend framework

zend framework的原理

zend framework版用户登录系统

zend framework的投票系统

zend framework购物车系统

Php发送电子邮件。

快速体验案例

目的是让大家开发zend framework项目的基本流程,配置如何处理。

配置成功后,可以看到欢迎界面即可。

开发步骤:

1 下载一个最新的zend framework

2 创建一zend framework工程

2.1 手工创建

2.2 Zf.bat创建

2.2.1 进入zf.bat所在目录

2.2.2 使用命令zf.bat create project 项目的全路径

2.2.3 zendstudio 创建

2.2.4 拷贝直接创建

2.2.5 引入库到项目中 library目录下库大库小不影响,因为php主要是编译

2.2.6 开始配置apache,让它支持apache框架

2.2.7 开启PDOPDO相关的数据库引擎

Php.ini中开启extension=php_pdo_mysql.dll

如果是php5.2 应该直接启动extension=php_pdo.dll

Apache的配置文件httpd.conf配置文件,修改如下

LoadModule rewrite_module modules/mod_rewrite.so

修改AllowOverride None

AllowOverride All

韩顺平 PHP视频教程 zend framework2 zend快速入门

配置虚拟主机:

如果开发环境是自定义安装:

启动虚拟主机,httpd.conf配置文件,修改如下

# Virtual hosts

Include "conf/extra/httpd-vhosts.conf"

Httpd-vhost.conf文件配置 配置我们自己的虚拟主机

#配置我们自己的虚拟主机

DocumentRoot "F:/xampp/htdocs/zendfrm/public"

ServerName harry.com

DirectoryIndex index.php http://harry.com/index.php

# This should be omitted in the production environment

SetEnv APPLICATION_ENV development

Options Indexes MultiViews FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

hosts中添加dns目录

harry.com

韩顺平 PHP视频教程 zend framework3 zend原理剖析 zend整合数据库

Uml时序图

Httpwatch 抓取http协议包的工具。

Bootstrap.php 对所有控制器的初始化工作

IndexController.php 对一个控制器做的初始化工作

日志记录启动文件:

F:\xampp\htdocs\zendfrm\public\index.php12-07-26 05:31:58

F:\xampp\htdocs\zendfrm\application\Bootstrap.php12-07-26 05:31:58

F:\xampp\htdocs\zendfrm\application\controllers\IndexController.php12-07-26 05:31:58init..

F:\xampp\htdocs\zendfrm\application\controllers\IndexController.php12-07-26 05:31:58index..

用户登录后,显示消息列表。

创建数据库

/*

Navicat MySQL Data Transfer

Source Server : localhost_3306

Source Server Version : 50516

Source Host : localhost:3306

Source Database : testzf

Target Server Type : MYSQL

Target Server Version : 50516

File Encoding : 65001

Date: 2012-07-26 14:10:03

*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for `message`

-- ----------------------------

DROP TABLE IF EXISTS `message`;

CREATE TABLE `message` (

`message_id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`sender` varchar(64) NOT NULL,

`getter` varchar(64) NOT NULL,

`sendtime` datetime NOT NULL,

`content` varchar(2000) NOT NULL,

PRIMARY KEY (`message_id`)

) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records of message

-- ----------------------------

INSERT INTO `message` VALUES ('1', '张三', '李海', '2012-07-19 14:01:33', '你好啊,还在吗?');

INSERT INTO `message` VALUES ('2', '李四', '张国荣', '2012-07-09 14:02:18', '风继续吹');

INSERT INTO `message` VALUES ('3', '回音哥', '郭德纲', '2012-07-26 14:02:39', '我的歌声里');

INSERT INTO `message` VALUES ('4', '李逍遥', 's', '2012-07-26 14:03:25', '真漂亮');

INSERT INTO `message` VALUES ('5', '张柏芝', '谢霆锋', '2012-07-27 14:04:39', '原谅我吧');

INSERT INTO `message` VALUES ('6', '周立波', '周瑾', '2012-07-30 14:05:13', '你不和我搭档了吗?');

INSERT INTO `message` VALUES ('7', '李云龙', '*', '2012-07-17 14:07:08', '我是华野的');

INSERT INTO `message` VALUES ('8', '毛总东', '*', '2012-07-25 14:07:40', '全心全意为人民服务');

INSERT INTO `message` VALUES ('9', '*', '*', '2012-07-25 14:08:10', '发展是硬道理');

Zend一般不和smarty融合一起操作。因为它自己有。

韩顺平 PHP视频教程 zend framework4 zend原理深度剖析

总控index.php每次都经过这。即使输入harry.com/uu,只要保证前面的域名不变化,怎么访问资源都会到总控。

重写机制 .htaccess

RewriteEngine On 启用重写机制

RewriteCond %{REQUEST_FILENAME} -s [OR]

RewriteCond %{REQUEST_FILENAME} -l [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^.*$ - [NC,L]

RewriteRule ^.*$ index.php [NC,L]

. 除了\n的任意字符。

php项目中,我们通过对url的重写,可以完成整个只有一个入口的项目

.htaccess

多入口

RewriteRule ^.*$\.php enter.php

RewriteRule ^.*$\.html enter.html

Index发送给apache rewrite机制记录下来 首先调用总控——boot——

约定俗成

如果有错误 ErrorController.php 该控制器来处理,它是处理机制。我们的控制器 区分大小写。

xxAction 的格式 xx不能大写

总控使用了一点反射机制。

步骤

1 先在controllers文件下添加

class testController extends Zend_Controller_Action{

public function init(){

}

public functionloginAction(){

//echo '用户登录';

$this->render("login");

}

}

优化代码:

Bootstrap.php 数据库初始化代码的优化。

抽象出来一个类

//做一个父类,专门供其它的Controller来继承

class BaseController extends Zend_Controller_Action{

public function init()

{

//初始化我们的数据库适配器

$url=constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';

$dbconfig=new Zend_Config_Ini($url,"mysql");

$db=Zend_Db::factory($dbconfig->db);

$db->query('SET NAMES UTF8');

Zend_Db_Table::setDefaultAdapter($db);

}

}

韩顺平 PHP视频教程 zend framework 第1讲 ——第4讲  札记心得

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频