您的位置:首页 > 运维架构

shopnc基础框架分析

2017-07-25 11:27 232 查看
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:定时任务及队列操作目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: