微擎学习1一一入口文件index.php

require './framework/bootstrap.inc.php';

$host = $_SERVER['HTTP_HOST'];
if (!empty($host)) {
	$bindhost = pdo_fetch("SELECT * FROM ".tablename('site_multi')." WHERE bindhost = :bindhost", array(':bindhost' => $host));
	if (!empty($bindhost)) {
		header("Location: ". $_W['siteroot'] . 'app/index.php?i='.$bindhost['uniacid'].'&t='.$bindhost['id']);
		exit;
	}
	
}
if($_W['os'] == 'mobile' && (!empty($_GPC['i']) || !empty($_SERVER['QUERY_STRING']))) {
	header('Location: ./app/index.php?' . $_SERVER['QUERY_STRING']);
} else {
	header('Location: ./web/index.php?' . (!empty($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : 'c=account&a=display'));
}

1.  加载框架初始化文件

 主要工作:

  • 定义系统常量 :  IN_IA、STARTIME 、 IA_ROOT、TIMESTAMP...
  • 定义全局变量  : $_W $_GPC 
  • 加载框架配置 :$configfile = IA_ROOT. "/data/config.php"   ,并赋值$_W
  • 检测是否安装:if(!file_exists($configfile)) ==> install.php
  • 加载常量:  version.inc.php 版本常量 、 const.inc.php 业务常量
  • 引入加载类,调用加载函数load() 加载 控制器|模型|类库
  • 输入过滤: $_GET 、 $_POST 、 $_COOKIE、file_get_contents("php://input");
  • 加载系统业务设置参数:setting_load ( 对应表 core_settings),与上面第三点 框架配置 合并
  • 开启和关闭调试模式
  • MVC参数获取
  • $controller = $_GPC['c'];
    $action = $_GPC['a'];
    $do = $_GPC['do'];

    详细在下一篇介绍

2. 域名绑定

当你想 将一个公众号\微站 绑定一个域名  ,则需要 在 site_multi 表 关联 域名和公众号\微站,最最最重要的一步:别忘记将需要绑定域名解析到服务器

3. 根据用户浏览器(UserAgent)判断是手机访问 还是 PC访问

手机访问 : /app/index.php

PC访问: /web/index.php

你可能感兴趣的:(微擎)