加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 经验 > 正文

phpcms v9代码剖析一

发布时间:2021-12-17 11:35:07 所属栏目:经验 来源:互联网
导读:一、数据库加载: 数据库配置文件:安装时填写的数据库配置数据存储在caches/configs/database.php (1)index.php入库文件,并加载phpcms/base.php。 (2)index.php文件:pc_base::creat_app(); (3)phpcms/libs/classes/application.class.php:$controller = $
一、数据库加载:
 
数据库配置文件:安装时填写的数据库配置数据存储在caches/configs/database.php
 
(1)index.php入库文件,并加载phpcms/base.php。
 
(2)index.php文件:pc_base::creat_app();
 
(3)phpcms/libs/classes/application.class.php:$controller = $this->load_controller();
 
默认加载:phpcms/modules/content/index.php
 
(4)phpcms/modules/content/index.php:$this->db = pc_base::load_model('content_model');
 
加载文件:phpcms/model/content_model.class.php
 
(5)phpcms/model/content_model.class.php:$this->db_config = pc_base::load_config('database');
 
(6)加载配置文件:caches/configs/database.php
 
二、模板解析:
 
文件:phpcms/libs/functions/global.func.php
 
调用:include template($module,$template);
 
模板缓存文件:phpcms/libs/classes/template_cache.class.php
 
template_compile:模板编译函数
 
三、用户登录模块(phpsso关联)
 
1、phpcms/modules/member/index.php
 
登陆操作:login()
 
$status = $this->client->ps_member_login($username, $password);//phpsso中判断用户登陆,正确返回用户数据array,如果本地用户信息不存在,则插入数据,保持数据一致.
 
$synloginstr = $this->client->ps_member_synlogin($r['phpssouid']);//phpsso用户同步登陆函数
 
//==========其余分析至[phpsso通信]==========
 
四、用户注册模块(phpsso关联)
 
1、phpcms/modules/member/index.php
 
注册操作:register()
 
$this->_session_start();//加载phpcms/libs/classes/session_mysql.class.php
 
$member_setting = getcache('member_setting');//加载用户配置
 
...
$siteid = isset($_REQUEST['siteid']) && trim($_REQUEST['siteid']) ? intval($_REQUEST['siteid']) : 1;//默认siteid为1
...
$this->_init_phpsso();//加载phpcms/modules/member/classes/client.class.php
//phpcms/base.php中load_app_class()函数的defined("ROUTE_M")来至于phpcms/libs/classes/application.class.php
...
$status = $this->client->ps_member_register($userinfo['username'], $userinfo['password'], $userinfo['email'], $userinfo['regip'], $userinfo['encrypt']);//phpsso中添加注册用户,返回phpssouid
...
$userid = $this->db->insert($userinfo, 1);//本地用户数据添加。密码加密存储
五、后台部分整理
 
1、口令卡(移除)
 
配置文件:caches/configs/system.php
 
后台登陆/退出:phpcms/modules/admin/index.php
 
后台管理:phpcms/modules/admin/admin_manage.php
 
口令卡类:phpcms/modules/admin/classes/card.class.php
 
管理员类:phpcms/modules/admin/classes/admin.class.php
 
语言文件:phpcms/languages/zh-cn/admin.lang.php
 
phpcms/languages/zh-cn/system_menu.lang.php
 
模板文件:phpcms/modules/admin/templates/admin_list.tpl.php
 
phpcms/modules/admin/templates/login_card.tpl.php
 
phpcms/modules/admin/templates/admin_card.tpl.php
 
2、后台登陆
 
phpcms/modules/admin/classes/admin.class.php
 
常规下加载phpcms/libs/classes/session_mysql.class.php
 
...session_start();//开启session
 
phpcms/modules/admin/classes/admin.class.php
 
状态判断:check_admin()
 
phpcms/modules/admin/index.php
 
登陆操作:login()
 
...
$_SESSION['userid'] = $r['userid'];
...
$cookie_time = SYS_TIME+86400*30;
...
param::set_cookie('userid', $r['userid'],$cookie_time);
...
//设置session和cookie
 

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读