无可厚非PHP还是普及度最高,最简单的语言。
想快速开发系统还是用PHP比较好。
初学PHP,那就以现在最火的团购网站源码最土来做分析学习。
最土网站 http://www.zuitu.com/
开发工具
dreamwear
xampp
前台分析
我们首先来看首页index.php的源码
<?php
require_once(dirname(__FILE__) . '/app.php');
if(!$INI['db']['host']) redirect( WEB_ROOT . '/install.php' );
if($city&&option_yes('rewritecity')){
redirect(WEB_ROOT."/{$city['ename']}");
}
$request_uri = 'index';
$team = $teams = index_get_team($city['id']);
if ($team && $team['id']) {
$_GET['id'] = abs(intval($team['id']));
die(require_once( dirname(__FILE__) . '/team.php'));
}
elseif ($teams) {
$disable_multi = true;
die(require_once( dirname(__FILE__) . '/multi.php'));
}
include template('subscribe');
我勒个去,找不到HTML标签。难道HTML用模版实现的?
算了,先从第一句看吧,谁叫我是菜鸟呢。
require_once(dirname(__FILE__) . '/app.php');
直接google,过程省略。
http://php.net/manual/zh/function.require-once.php
意思就是只引用一次app.php。 app.php应该是MVC框架的控制器。
我们再看看app.php里写了什么。
<?php
require_once(dirname(__FILE__). '/include/application.php');
/* magic_quota_gpc */
$_GET = magic_gpc($_GET);
$_POST = magic_gpc($_POST);
$_COOKIE = magic_gpc($_COOKIE);
/* process currefer*/
$currefer = uencode(strval($_SERVER['REQUEST_URI']));
/* session,cache,configure,webroot register */
Session::Init();
$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'];
$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);
$city = cookie_city(null);
/* not allow access app.php */
if($_SERVER['SCRIPT_FILENAME']==__FILE__){
redirect( WEB_ROOT . '/index.php');
}
/* end */
$AJAX = ('XMLHttpRequest' == @$_SERVER['HTTP_X_REQUESTED_WITH']);
if (false==$AJAX) {
header('Content-Type: text/html; charset=UTF-8');
run_cron();
} else {
header("Cache-Control: no-store, no-cache, must-revalidate");
}
马勒隔壁,这么多。看得头晕,还是先把index.php看完再看下面一层吧。不然就是无限循环啊。。。切记,切记。
<?php
require_once(dirname(__FILE__) . '/app.php'); /*只加载一次app.php*/
if(!$INI['db']['host']) redirect( WEB_ROOT . '/install.php' ); /* $INI中是否存在['db']['host'],$INI在app.php中加载 */
if($city&&option_yes('rewritecity')){ /* 如果有city变量并且XXX就直接跳转到根目录所有的省链接 */
redirect(WEB_ROOT."/{$city['ename']}");
}
$request_uri = 'index';
$team = $teams = index_get_team($city['id']); /* index_get_team函数在include/function/common.php里 */
if ($team && $team['id']) {
$_GET['id'] = abs(intval($team['id'])); /* 字符串转整数并取绝对值,为什么要这样做? */
die(require_once( dirname(__FILE__) . '/team.php')); /* 加载team.php 并终止*/
}
elseif ($teams) {
$disable_multi = true;
die(require_once( dirname(__FILE__) . '/multi.php'));
}
include template('subscribe'); /* 加载模版subscribe, subscribe是什么? */
待解决疑问
/* session,cache,configure,webroot register */
Session::Init();
$INI = ZSystem::GetINI();
/* end */
include/function/common.php
function index_get_team($city_id) {
global $INI;
$multi = option_yes('indexmulti');
if (!$multi) return current_team($city_id);
$city_id = abs(intval($city_id));
$now = time();
$size = abs(intval($INI['system']['sideteam']));
if ($size<=1) return current_team($city_id);
$oc = array(
'city_id' => array($city_id, 0),
'team_type' => 'normal',
"begin_time < '{$now}'",
"end_time > '{$now}'",
);
$teams = DB::LimitQuery('team', array(
'condition' => $oc,
'order' => 'ORDER BY `sort_order` DESC, `id` DESC',
'size' => $size,
));
if(count($teams) == 1) return array_pop($teams);
return $teams;
}
分享到:
相关推荐
最土团购商业wap版测试可以 inflating: zuitu/static/img/faq-how-it-works1.gif inflating: zuitu/static/img/faq-how-it-works2.gif inflating: zuitu/static/img/faq-how-it-works3.gif inflating: zuitu/...
补丁包 ZuituGo_Patch_CV2.0_1816_1826 2011年2月17日 23:59 发布 ...2、支持支付宝担保交易 3、超单购买灵活处理,转帐户余额 ...由中国创团网http://bbs.0574ngt.com提供,更多团购资源尽在创团网
装方法: 1.安装PHP的运行环境 建议下载xampp安装包 2.把文件夹考到xampp的htdocs文件夹下 3.输入http://localhost/zuitu 就ok了.
从功能层面来看,前台首页每天显示一个服务或插产 品的限时限最低成团人数的团购项目,具有邮件订阅,好友邀请,人人网、开心网、新浪微博、MSN/QQ分享,短信发送,购买凭证券在线打印、下载等功能。 最土团购程序...
2,将文件上传至根目录,然后用ftp将zuitu.htaccess重命名为.htaccess 3,登陆团购系统后台,设置,页面设置,开启地址重写。 4,团购系统后台缓存,清除,这样就可以了。 注意:本规则只适用于linux系统apache下;
最土网www.zuitu.com。出版,限时团购程序,PHP源代码。。。
1.zuitu团购网站与discuz7.2程序的整合版 2.完美整合了ucenter,同步登录、退出修正了官方的通行证BUG等。 3.安装方法简便,直接使用帝国安装数据库即可! 说明: 该整合版没有修改zuitu(CV2.0_20110930)与discuz!...
最土团购商业版 2.0 升级程序, 1792升级到1816
最土团购程序商业版,安装成功请及时删除根目录下install.php文件!
版权所有:最土网 权利人:戴书文 QQ:16256732 Email:shwdai@gmail.com 声明:任何使用本软件的用户,禁止将本软件进行二次开发后用于出售目的。 有任何安装、后台登陆、如果操作的问题,请去...
7. 页面前台根据城市自动匹配兼容的团购项目 8. 修改数据库,升级文件为include/db文件夹下 update_team.sql update_referer.sql ZuituGo_Patch_CV2.0_22824_23221 2011年3月1日 11:00 发布 1. 简单支持腾讯...
最土网 嘀嗒团模板 分白天晚上,自动变换。亲测可以使用。测试网站:www.bikemaster.cn。 解压缩密码:
、ZuituGo_CV2.0_1826商业完整版_80元.zip、ZuituGo_CV2.0_1826商业完整版_80元.zip、ZuituGo_CV2.0_1826商业完整版_80元.zip