最土团购系统全局核心文件app.php介绍

初始化环境文件(app.php)
服务器君一共花费了229.789 ms进行了5次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

最土团购系统是国内比较常见的团购程序,在国内团购系统份额中所占比例还是比较大的。下面分析一下它的全局核心文件app.php,看看能不能找到一些干货,顺便也籍此开始深入了解下这个开源的团购系统。

注释都写到代码里了,程序用到的自定义函数也单独地在后面列出,应该是比较好懂的了。

<?php
require_once(dirname(__FILE__). '/include/application.php');

// 如果magic_quotes_gpc为on则去掉addslash对单引号和双引号及空值反斜杠添加的''
/* magic_quota_gpc */
$_GET = magic_gpc($_GET);
$_POST = magic_gpc($_POST);
$_COOKIE = magic_gpc($_COOKIE);

// url base64编码为了入库
/* process currefer*/
$currefer = uencode(strval($_SERVER['REQUEST_URI']));

// 用户session的初始化
/* session,cache,configure,webroot register */
Session::Init();
// 初始化configure目录下的php文件,基本都是第三方支付接口。
$INI = ZSystem::GetINI();
/* end */

/* date_zone */
if(function_exists('date_default_timezone_set')) { 
	date_default_timezone_set($INI['system']['timezone']); 
}
/* end date_zone */


/* biz logic */
$currency = $INI['system']['currency'];

// 获得用户id
$login_user_id = ZLogin::GetLoginId();
// 获得用户信息便于之后调用
$login_user = Table::Fetch('user', $login_user_id);
// 获得开通的城市
$hotcities = option_hotcategory('city', false, true);
// 获得全部设置的城市
$allcities = option_category('city', false, true);
// 通过cookie获取城市,cookie没有则通过ip地址获取
$city = cookie_city(null);

if (!isset($_COOKIE['referer'])) {
	setcookie('referer',$_SERVER['HTTP_REFERER']);
}

//设置文件不允许访问
/* not allow access app.php */
if($_SERVER['SCRIPT_FILENAME']==__FILE__){
	// 这里似乎只为linux考虑了,windows下的_FILE_为反斜杠没有考虑进去
	redirect( WEB_ROOT . '/index.php');
}
/* end */
// js进行ajax请求时发送的参数,以此判断是否是ajax请求。
$AJAX = ('XMLHttpRequest' == @$_SERVER['HTTP_X_REQUESTED_WITH']);
if (false==$AJAX) { 
	header('Content-Type: text/html; charset=UTF-8'); 
	run_cron();
} else {
	// 如果是ajax请求,则添加header信息,进行ajax加载前的设置
	header("Cache-Control: no-store, no-cache, must-revalidate");
}
?>

程序中使用到的部分函数解析

magic_gpc():

<?php
	define('SYS_MAGICGPC', get_magic_quotes_gpc());
	
	$_POST = magic_gpc($_POST);
	
	function magic_gpc($string) {
		if(SYS_MAGICGPC) {
			// 如果magic_quotes_gpc为on则去掉addslash对单引号和双引号及空值反斜杠添加的''
			if(is_array($string)) {
				foreach($string as $key => $val) {
					$string[$key] = magic_gpc($val);
				}
			} else {
				// 脱去addslash,目的是为了入库前统一操作那样更安全,值得借鉴。
				$string = stripslashes($string);
			}
		}
		return $string;
	}
?>

uencode():

function uencode($u) {
	//放置< >符号单纯base64加密后产生+号这种特殊字符。
	return base64_encode(urlEncode($u));
}

本文地址:http://www.nowamagic.net/librarys/veda/detail/1013,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/1013

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《软件随想录:程序员部落酋长Joel谈软件》 Joel Spolsky (作者), 阮一峰 (译者)

《软件随想录:程序员部落酋长Joel谈软件》是一部关于软件技术、人才、创业和企业管理的随想文集,作者以诙谐幽默的笔触将自己在软件行业的亲身感悟娓娓道来,观点新颖独特,内容简洁实用。全书分为 36讲,每一讲都是一个独立的专题。《软件随想录:程序员部落酋长Joel谈软件》从不同侧面满足了软件开发人员、设计人员、管理人员及从事软件相关工作的人员的学习与工作需要。

更多计算机宝库...