shopnc基础框架分析

来源:互联网 发布:金智软件 编辑:程序博客网 时间:2024/06/06 01:03

1.路径需要.htaccess重写
可配合里面route.class.php类重写,把所有路径解析都指向根目录的index.php写法,此有效防止用户乱访问目录,可对每个应用的目录放入.htaccess。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

# mod_fcgid & php-cgi
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]

# php5apache2_2.dll
#RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

</IfModule>




2.根目录index.php入口
include('shop/index.php');
其他应用目录入口对应应用文件夹下的index.php,例如:shop/index.php,mobile/index.php
每个index.php入口分析

a.根global.php(全局变量及是否安装程序判断)

b.core/33hao.php此文件命名有些程序会不一样
(1)读取全局配置文件BASE_DATA_PATH.'/config/config.ini.php'
(2)路由检测new Route
(3统一ACTION
(4)安全检测过滤
(5)启用ZIP压缩
(6)require_once(BASE_CORE_PATH.'/framework/libraries/queue.php');

require_once(BASE_CORE_PATH.'/framework/function/core.php');

require_once(BASE_CORE_PATH.'/framework/core/base.php');

require_once(BASE_CORE_PATH.'/framework/function/goods.php');
(7)自动注册类spl_autoload_register(array('Base', 'autoload'));
主要自动加载这些目录下的类:
BASE_PATH.'/framework/libraries/'.
BASE_CORE_PATH.'/framework/cache/'
BASE_CORE_PATH.'/framework/db/'
BASE_CORE_PATH.'/framework/libraries/'

c.读取本应用目录下的配置BASE_PATH.'/config/config.ini.php'

d.读取本应用目录下的BASE_PATH.'/framework/function/function.php'

e.Base::run();开始进入MVC框架流程
self::cp();合法性验证
self::init();parse_conf读取所有数据库配置setting_config,start_session设置session保存目录
self::control();生成控制器类
调用output_data输出json,调用Tpl::output,Tpl::showpage模版



3.每个应用相关配置有
config配置文件目录
api其他api php文件目录,访问方式/api/payment/alipay/notify_url.php
control控制器目录
framework程序框架公共方法目录
language语言目录
model数据模型目录
templates模版目录


4.Admin目录分析
菜单程序目录admin/include/menu.php
权限设置文件admin/include/limit.php



5.其他应用所用的技术
全文检索:xunsearch全文检索
crontab:定时任务及队列操作目录