设为首页 收藏本站
查看: 1060|回复: 0

[经验分享] 韩顺平 PHP视频教程 zend framework 第1讲 ——第4讲 笔记心得

[复制链接]

尚未签到

发表于 2017-4-13 11:52:20 | 显示全部楼层 |阅读模式
韩顺平 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文件配置配置我们自己的虚拟主机
  
  #配置我们自己的虚拟主机
  <VirtualHost *:80>
   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
  
   <Directory "F:/xampp/htdocs/zendfrm/public">
   Options Indexes MultiViews FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow from all
   </Directory>
  
  </VirtualHost>
  
  
  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文件下添加
  <?php
  class testControllerextends Zend_Controller_Action{
   publicfunction init(){
  
   }
   public functionloginAction(){
   //echo '用户登录';
   $this->render("login");
   }
  }
  优化代码:
  Bootstrap.php 数据库初始化代码的优化。
  抽象出来一个类
  <?php
  //做一个父类,专门供其它的Controller来继承
  class BaseControllerextends Zend_Controller_Action{
  public function init()
  {
   //初始化我们的数据库适配器
  $url=constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';
  $dbconfig=newZend_Config_Ini($url,"mysql");
  $db=Zend_Db::factory($dbconfig->db);
  $db->query('SETNAMES UTF8');
  Zend_Db_Table::setDefaultAdapter($db);
  }
  
  }

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-364453-1-1.html 上篇帖子: PHP中magic_quotes_gpc和magic_quotes_runtime的区别、作用和用法 下篇帖子: php 解析xml文件(不需要下载其他类库) 将数据解析到数组
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表