1. 文件.htaccess的重写机制

如果 apache 开启了重写机制,则在 apache 启动时,会去找网站的根目录有没有 .htaccess 文件,如果有则按 .htaccess 文件中的规则,没有则默认。
在 apache 的底层代码中有如下方法:

所以读取的是网站根目录,命名为 .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]


2. 在php项目中,我们通过对url的重写,可以完成对整个项目只有一个入口
新建一个项目举列:




接着配置虚拟主机。


没有设置入口文件之前:


随便可以访问哪个文件夹下面的文件


创建 .htaccess 文件,.ht 表示 apache。
windows 文件不能以 . 开头,在linux下表示隐藏文件。
1.先创建好,在另存为。

#启用重写机制
RewriteEngine On
#启用重写机制的规则是什么,后面为正则表达式,后面为定位到的文件
RewriteRule ^.*$ enter.php
#启用重写机制
RewriteEngine On
#启用重写机制的规则是什么,后面为正则表达式,后面为定位到的文件
#可以写多个规则,从上到下依次匹配。以.php结尾的到enter.php,以.html结尾的到enter2.php去。
RewriteRule ^.*$\.php enter.php
RewriteRule ^.*$\.html enter2.php

接着,在apache中启用rewirte机制。

可以了:


用自己创建的项目,完成初始化工作,并调用某个类。
创建一个类:

在入口文件中调用类:


所以,Zend 中,index.php 调用 Action Controller ,拆分Url, 用反射机制调用类。


3. 如何增加MVC
3.1 增加控制器

3.2 增加视图


步骤:


<?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);}
}

第5讲 zend原理深度剖析相关推荐

  1. git原理详解与实操指南_全网最精:学git一套就够了,从入门到原理深度剖析

    以上资源收集至互联网 如有侵权请联系删除 资源获取方式 扫码关注资源库公众号 回复密码'20190812' 即可获得 截图展示 课程信息 课程难度:中级 学习人数:148352 课程状态:已完结 时长 ...

  2. 唯一插件化Replugin源码及原理深度剖析--插件的安装、加载原理

    上一篇 唯一插件化Replugin源码及原理深度剖析–唯一Hook点原理 在Replugin的初始化过程中,我将他们分成了比较重要3个模块,整体框架的初始化.hook系统ClassLoader.插件的 ...

  3. 云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上)

    点击上方"程序猿技术大咖",关注并选择"设为星标" 回复"加群"获取入群讨论资格! 本篇文章来自<华为云云原生王者之路训练营>钻 ...

  4. 【云驻共创】华为云云原生之Kubernetes网络架构原理深度剖析(上)

    文章目录 前言 一.Kubernetes诞生背景 1.云原生的概念 2.云原生架构 3.Kubernetes(k8s) 二.Kubernetes基本网络模型剖析 1.概念厘清 1.1 二层桥接 VS ...

  5. 云原生钻石课程 | 第5课:Kubernetes存储架构原理深度剖析(下)

    点击上方"程序猿技术大咖",关注并选择"设为星标" 回复"加群"获取入群讨论资格! 本篇文章来自<华为云云原生王者之路训练营>钻 ...

  6. 布隆过滤器原理深度剖析

    HBase布隆过滤器原理深度剖析 1. 数据结构与原理 1.1 初始化 1.2 变量映射 1.3 变量检索 1.4 总结 2. 过滤器特性 2.1 误判率 2.2 判断特点 3. 案列代码 1970年 ...

  7. Mysql binlog应用场景与原理深度剖析

    1 基于binlog的主从复制 Mysql 5.0以后,支持通过binary log(二进制日志)以支持主从复制.复制允许将来自一个MySQL数据库服务器(master) 的数据复制到一个或多个其他M ...

  8. 好文推荐 | MySQL binlog应用场景与原理深度剖析

    作者:田守枝 来自:田守枝的博客(公众号) 本文深入介绍Mysql Binlog的应用场景,以及如何与MQ.elasticsearch.redis等组件的保持数据最终一致.最后通过案例深入分析binl ...

  9. Spring 框架之 AOP 原理深度剖析!|CSDN 博文精选

    作者 | GitChat 责编 | 郭芮 出品 | CSDN 博客 AOP(Aspect Oriented Programming)面向切面编程是 Spring 框架最核心的组件之一,它通过对程序结构 ...

  10. 史上最硬核网页截图方案原理深度剖析

    作者 | 陈亮 靡不有初,鲜克有终 简介 剖析流行的截图插件 html2canvas 的实现方案,探索其功能上的一些不足之处及不能正确截取的一些场景,比如不支持 css 的 box-shadow 截取 ...

最新文章

  1. Lua 函数、闭包、尾调用总结
  2. 多线程python 客户端fuwuq实现方式_python实现二叉树数据结构的多种遍历方式
  3. 【Alpha】事后分析
  4. android短信增加条目,Android仿短信条目右上角的红色小圆球提示气泡
  5. 堆和栈的区别(经典干货)
  6. roads 构筑极致用户体验_万物互联大势所趋 华为保驾护航运营商“三个转型”...
  7. (190)FPGA变量初始化方法initial
  8. SHELL中,如何分割字符串
  9. Bellman-ford算法图解
  10. 计算机考试67,注册电气工程师基础考试计算机基础知识试题答案(67)
  11. 爷青回|用Python重构【超级马里奥】制作过程+解析|快收藏起来跟小伙伴一起拯救公主吧~
  12. 深度好文| Redis面试全攻略
  13. 以虎嗅网4W+文章的文本挖掘为例,展现数据分析的一整套流程
  14. 51个最佳jQuery教程和示例
  15. 菜鸟教程中的面试题总结
  16. springboot蓝球场馆预约系统毕业设计-附源码211706
  17. 如何删除数组中的一个元素
  18. 怎么确定K均值聚类中的K(基于matlab)
  19. 学术角度看区块链:数字广告行业的“他山之石”
  20. App通过(后台返回apk链接)下载apk并且安装

热门文章

  1. AndroidStudio配置gradle,让App自动签名
  2. SQL Server误区30日谈-Day28-有关大容量事务日志恢复模式的误区
  3. 时间序列分析工具箱——tidyquant
  4. Centos7_系统初始优化配置
  5. 「TJOI 2013」攻击装置
  6. 技术和技术管理人员评价标准
  7. 原来,一直没有完全理解range()函数
  8. ORACLE的程序包1-程序包的基
  9. 【原】linux下tar解压缩问题:time stamp in the future
  10. 通过aspnetpager为DataList分页