PHP整合你的站点入口_PHP
大家也许经常在网上看到这样的路径(http://www.aaa.com/aaa/bbb/aaa?id=5),让人不解,这样的网站的实现方式有几种可能性:
1、隐藏文件的扩展名,对这种做法的好处,众说纷纭,不过个人觉得没有必要;
2、用了网站的重定向规则,实现虚拟路径;
3、强制文件解析的方式,实现虚拟路径。
用第2\3种方法可以实现网站的统一接口,合理的整合网站,更好的体现网站的安全性和架构,用这两种方式的网站大多是使用"MVC"模式构建和实现的。
下面是一个例子
访问路径如下:
....../test/*******/Bad ....../test/*******/Good (其中的"******"可以用任何字符串替换,"......."是你的web路径) |
文件的目录结构如下
|--.htaccess |-- test |-- Application.php |-- Controler/GoodControler.php |-- Controler/BadControler.php |
注意文件".htaccess",在windows下不能直接建立的,可以在命令行模式下建立.
文件0 (.htaccess) (这个文件是更改apache的配置方式用的)
forcetype application/x-httpd-php |
文件1 (test.php)
/*------------------------------------- * test.php * * 作为你的网站的入口的文件 * 用来初始化和入口 * 调用执行Controler的调用 * -------------------------------------*/ require "Application.php"; $aa = new Application(); $aa->parse(); $aa->go(); ?> |
文件2 (GoodControler.php)
/*------------------------------------- * GoodControler.php * * 用来控制 url=/test/Good 来的访问 * -------------------------------------*/ class GoodControler{ /* * 控制类的调用方法,唯一的报漏给外部的接口 */ function control(){ echo "this is from GoodControler url=*********/test/Good"; } } ?> |
文件3 (BadControler.php)
/*------------------------------------- * BadControler.php * * 用来控制 url=/test/Bad 来的访问 * -------------------------------------*/ class BadControler{ /* * 控制类的调用方法,唯一的报漏给外部的接口 */ function control(){ echo "this is from GoodControler url=*********/test/Bad"; } } ?> |
文件4 (Application.php)
/*------------------------------------- * Application.php * * 用来实现网站的统一入口,调用Controler类 * -------------------------------------*/ class Application{ //用来记录所要进行的操作 var $action; //controler文件的路径名 var $controlerFile; //controler的类名 var $controlerClass; function Application(){ } function parse(){ $this->_parsePath(); $this->_getControlerFile(); $this->_getControlerClassname(); } /* * 解析当前的访问路径,得到要进行动作 */ function _parsePath(){ list($path, $param) = explode("?", $_SERVER["REQUEST_URI"]); $pos = strrpos($path, "/"); $this->action = substr($path, $pos 1); } /* * 通过动作$action,解析得到该$action要用到的controler文件的路径 */ function _getControlerFile(){ $this->controlerFile = "./Controler/".$this->action."Controler.php"; if(!file_exists($this->controlerFile)) die("Controler文件名(".$this->controlerFile.")解析错误"); require_once $this->controlerFile; } /* * 通过动作$action,解析得到该$action要用到的controler类名 */ function _getControlerClassname(){ $this->controlerClass = $this->action."Controler"; if(!class_exists($this->controlerClass)) die("Controler类名(".$this->controlerClass.")解析错误"); } /* * 调用controler,执行controler的动作 */ function go(){ $c = new $this->controlerClass(); $c->control(); } } ?> |

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在电脑中删除或解压缩文件夹,时有时候会弹出提示对话框“错误0x80004005:未指定错误”,如果遇到这中情况应该怎么解决呢?提示错误代码0x80004005的原因其实有很多,但大部分因为病毒导致,我们可以重新注册dll来解决问题,下面,小编给大伙讲解0x80004005错误代码处理经验。有用户在使用电脑时出现错误代码0X80004005的提示,0x80004005错误主要是由于计算机没有正确注册某些动态链接库文件,或者计算机与Internet之间存在不允许的HTTPS连接防火墙所引起。那么如何

夸克网盘和百度网盘都是现在最常用的储存文件的网盘软件,如果想要将夸克网盘内的文件保存到百度网盘,要怎么操作呢?本期小编整理了夸克网盘电脑端的文件转移到百度网盘的教程步骤,一起来看看是怎么操作吧。 夸克网盘的文件怎么保存到百度网盘?要将夸克网盘的文件转移到百度网盘,首先需在夸克网盘下载所需文件,然后在百度网盘客户端中选择目标文件夹并打开。接着,将夸克网盘中下载的文件拖放到百度网盘客户端打开的文件夹中,或者使用上传功能将文件添加至百度网盘。确保上传完成后在百度网盘中查看文件是否成功转移。这样就

谷歌浏览器如何添加信任站点?有的用户在上网时因页面提示不安全无法正常浏览网页,此时就可以把网站添加为信任站点,我们就能正常访问,顺利上网了。下面小编为大家带来谷歌浏览器添加信任站点方法步骤,步骤简单易操作,小白也能轻松上手,有需要的小伙伴一起来了解吧。谷歌浏览器添加信任站点方法步骤1、打开谷歌浏览器,点击右上角三个点。点击【设置】。选择隐私设置和安全性。(如图所示)2、点击页面下方的网站设置。(如图所示)3、点击页面下方的不安全内容。(如图所示)4、点击允许选项右边的添加按钮。(如图所示)5、输

最近有很多网友问小编,hiberfil.sys是什么文件?hiberfil.sys占用了大量的C盘空间可以删除吗?小编可以告诉大家hiberfil.sys文件是可以删除的。下面就来看看详细的内容。hiberfil.sys是Windows系统中的一个隐藏文件,也是系统休眠文件。通常存储在C盘根目录下,其大小与系统安装内存大小相当。这个文件在计算机休眠时被使用,其中包含了当前系统的内存数据,以便在恢复时快速恢复到之前的状态。由于其大小与内存容量相等,因此它可能会占用较大的硬盘空间。 hiber

Win11新功能解析:跳过登录微软账户的方法随着Windows11的发布,许多用户发现其带来了更多的便捷和新功能。然而,有些用户可能不喜欢将其系统与微软账户绑定,希望跳过这一步骤。本文将介绍一些方法,帮助用户在Windows11中跳过登录微软账户,实现更加私密和自主的使用体验。首先,我们来了解一下为什么有些用户不愿意登录微软账户。一方面,一些用户担心他们

Win11系统中“我的电脑”路径有何不同?快速查找方法!随着Windows系统的不断更新,最新的Windows11系统也带来了一些新的变化和功能。其中一个常见的问题是用户在Win11系统中找不到“我的电脑”的路径,这在之前的Windows系统中通常是很简单的操作。本文将介绍Win11系统中“我的电脑”的路径有何不同,以及快速查找的方法。在Windows1

MySQL中.ibd文件的作用详解及相关注意事项MySQL是一种流行的关系型数据库管理系统,数据库中的数据存储在不同的文件中。其中,.ibd文件是InnoDB存储引擎中的数据文件,用于存储表中的数据和索引。本文将对MySQL中.ibd文件的作用进行详细解析,并提供相关代码示例以帮助读者更好地理解。一、.ibd文件的作用:存储数据:.ibd文件是InnoDB存

【PHP中点的含义和用法解析】在PHP中,中点(.)是一个常用的操作符,用于连接两个字符串或者对象的属性或方法。在本文中,我们将深入探讨PHP中点的含义和用法,并通过具体的代码示例加以说明。1.连接字符串中点操作符.在PHP中最常见的用法是连接两个字符串。通过将.放置在两个字符串之间,可以将它们拼接在一起,形成一个新的字符串。$string1=&qu
