读书笔记:深入理解PHP高级技巧、面向对象、核心技术 一 前六章

1.模块化一个Web网站

     创建配置文件:定义常量、建立站点范围内的设置、创建用户定义函数、管理错误

     例如:判断该脚本运行在测试环境还是真实运行的服务器

    

$host=substr($_SERVER['HTTP_HOST'],0,5);
 
if(in_array($host,array('local','127.0','192.1'))){
	$local=TRUE;
}else{
	$local=FALSE;
}

  索引文件是模块化程序中的主要脚本,事实上它是唯一会被加载进去web浏览器的页面,这种构建方法的结束叫做引到文件,索引页面涉及以下工作:包含配置文件、包含数据库连接文件、合并HTML模板、判断并包含适当的内容模块

   对访问页面的用户进行重定向:

  

$url=BASE_URL.'index.php';
header("Location:$url");
exit;

2.使用mod_rewrite优化SEO(Apache)

   mod_rewrite是一种用于给服务器发送指令的工具,当用户访问一个链接URL的时候,服务器将会提供另外的资源,mod_rewrite使用正则表达式,因此可以根据需求尽量复杂的连接地址模式

    1>修改Apache的全局配置文件或者创建目录相关的文件(httpd.conf),放置在conf目录内,它用于规范这个Apache网站服务器的运行规则   2>一个.htaccess文件放置在Web目录内,它用来规范在当前目录和子目录内Apache如何运行

   优先考虑优化http.conf,这个每次服务器每次启动的时候才会由Web服务器读取,.htaccess可能应用请求发起时都会被Web服务器读取一遍

3.调整浏览器缓存

   利用PHP的header()函数可以调整缓存-包括WEB浏览器的缓存和代理服务的缓存,这里设计4种标头的类型  Last-Modified(最后修改时间)、Expires(过期时间)、Pragma(编译提示)、Cache-Control(缓存控制)

$max取数据库最后更新时间
$interval=60*60*6
header("Last-Modified:".gmdate('r',$max)); //设置脚本的最后修改时间为数据库更新的最后时间
header("Expires:".gmdate("r",($max+$interval)));有效期限是指当前时间加上前面定义的间隔时间
header('Cache-Control:max-age=$interval');等效于1.1Expires标头的设置方式,取代使用一个日期值,这里使用秒数设置变量max-age的值

4.在数据库中保存会话

   默认情况下,PHP会把回话数据保存在服务器上的文本文件里,通常是系统的临时目录,然而PHP还提供一种机制让我们以其他的方式管理回话,比如在数据库中存储这些会话数据   

好处:

     1.提高系统的安全性,并且在共享主机服务器上,如果没有进行特别的设定,所有网站站点都会使用同一个临时目录,意味着数十个程序都在同一个位置对文件进行读写操作。我们就很容易地编写一个脚本从这个目录读取会话文件夹中所有文件的内容

    2.另外把会话数据放在数据库里还可以更方便地搜索Web站点会话更多的信息,我们可以查询会话的数量,还可以对会话数据进行备份 

   3.如果站点运行与多个服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值