开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 1

小程序开发/modphp

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
modphp
/
mod.php
modphp
/
mod.php
mod.php 3.49 KB
一键复制 编辑 原始数据 按行查看 历史
A-yon 提交于 2017年07月23日 10:07 +08:00 . Update via git
<?php
// ModPHP 压缩包名称,如果设置,ModPHP 将从 ZIP 中加载内核
defined('MOD_ZIP') or define('MOD_ZIP', '');
require_once (MOD_ZIP ? 'zip://'.__DIR__.'/'.MOD_ZIP.'#' : '').'mod/common/init.php'; //引入初始化程序
/*
* URL 请求使说明:
* 可以通过 URL 携带参数访问 mod.php 文件直接访问模块类方法,通常在 AJAX 中使用。
* 需要至少提供两个参数,obj 和 act,用来调用相应的对象(类)和操作(方法),其他的参数将作为类方法的参数。
* ModPHP 会自动收集向后台提交的数据,执行请求的操作并将结果返回给客户端。
* 默认有三种 URL 格式可以提交请求,以获取 user_id = 1 的用户为例:
* 1. mod.php?obj=user&act=get&user_id=1[&更多参数];
* 2. mod.php?user::get|user_id:1[|更多参数]
* 3. mod.php/user/get/user_id/1[/更多参数]
*/
/** 交互式控制台,兼容 shell 命令 */
if(__SCRIPT__ != 'mod.php' && !is_console()) goto end;
$ENCODING = get_cmd_encoding(); //命令行编码,仅 Windows
$TITLE = 'ModPHP Console'; //窗口标题
$PROMPT = '>>> '; //提示符
$STDOUT = $STDIN = null;
if(is_console()){
fwrite(STDOUT, 'ModPHP '.MOD_VERSION.' started at '.date('D M d H:i:s Y').PHP_EOL);
do_hooks('console.open'); //在控制台打开前执行挂钩函数
if(error()){
$ERROR = error();
exit($ERROR['data'].PHP_EOL); //可以在挂钩函数中返回错误以终止程序
}
fwrite(STDOUT, $PROMPT);
}
while(true){
if(PHP_OS == 'WINNT') exec("title ".__DIR__." - ".$TITLE); //设置 CMD 窗口标题
error(null);
if(!is_console() || $STDIN = fgets(STDIN)){
if($STDIN){ //交互式控制台
$STDIN = trim($STDIN);
if($ENCODING && strcasecmp($ENCODING, 'UTF-8')) //转换编码
$STDIN = iconv($ENCODING, 'UTF-8', $STDIN) ?: $STDIN;
$argv = parse_cli_str('"'.$_SERVER['argv'][0].'" '.$STDIN);
$argv = parse_cli_param($argv);
}else{ //命令行直接调用
$argv = parse_cli_param($_SERVER['argv']);
}
if(!$argv['param']){
fwrite(STDOUT, $PROMPT);
continue;
}
foreach($argv['param'] as $PARAM){
ob_start();
if(!strpos($PARAM['cmd'], '(') && (is_callable($PARAM['cmd']) || strpos($PARAM['cmd'], '::'))) {
//将输入按 shell 命令来运行
${'SHELL'.INIT_TIME} = true;
foreach($PARAM['args'] as &$v){ //转换参数
if($v === 'true') $v = true;
elseif($v === 'false') $v = false;
elseif($v === 'undefined' || $v === 'null') $v = null;
elseif(is_numeric($v) && (int)$v < 2147483647) $v = (int)$v;
};
if(is_assoc($PARAM['args'])){ //关联数组参数
print_r(call_user_func($PARAM['cmd'], $PARAM['args']));
}elseif(is_array($PARAM['args'])){ //索引数组参数
print_r(call_user_func_array($PARAM['cmd'], $PARAM['args']));
}
}elseif($STDIN !== null){ //变量或者其他
eval($STDIN ? rtrim($STDIN, ';').';' : '');
}else{ //命令行直接调用
print_r(eval('return '.rtrim($PARAM['cmd'], ';').';'));
}
$STDOUT = trim(ob_get_clean(), PHP_EOL); //获取输出缓存
if($STDOUT && $ENCODING && strcasecmp($ENCODING, 'UTF-8')) //转换编码
$STDOUT = iconv('UTF-8', $ENCODING, $STDOUT) ?: $STDOUT;
if($STDIN === null){ //命令行直接调用
echo $STDOUT.PHP_EOL; //输出代命令行
}else{ //交互式控制台
if($STDIN && $STDOUT) fwrite(STDOUT, $STDOUT.PHP_EOL); //输出到交互式控制台
if(!isset(${'SHELL'.INIT_TIME})) break;
unset(${'SHELL'.INIT_TIME});
}
}
if($STDIN === null) break;
else fwrite(STDOUT, $PROMPT);
}
}
end:
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

ModPHP 应用程序框架充分继承 PHP 简单强大的特点,体积仅 200KB 多,但包含了丰富的函数库和类库,支持邮件事务、图像处理、编译模板引擎和 WebSocket 等流行和
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/exphp/modphp.git
git@gitee.com:exphp/modphp.git
exphp
modphp
modphp
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /