1
+ // @Author : popy32
2
+ // @Contact : 74o5o27o8#qq.com
3
+ // @File : phpruncode.aardio
4
+ // @Comment : PHP代码调试助手 (≡^∇^≡)
5
+
6
+ import win.ui;
7
+ /*DSG{{*/
8
+ var winform = win.form(text='PHP代码调试助手 (\u2261^\u2207^\u2261)';right=759;bottom=469)
9
+ winform.add(
10
+ button={cls="button";text="运行代码";left=632;top=0;right=760;bottom=40;z=2};
11
+ button2={cls="button";text="清空日志";left=632;top=40;right=760;bottom=80;z=4};
12
+ edit={cls="edit";left=0;top=0;right=632;bottom=304;autohscroll=false;edge=1;font=LOGFONT(h=-16;name='Consolas');multiline=1;vscroll=1;z=1};
13
+ edit2={cls="edit";left=0;top=304;right=760;bottom=472;edge=1;font=LOGFONT(h=-13);multiline=1;z=3}
14
+ )
15
+ /*}}*/
16
+
17
+ import php;
18
+ import console;
19
+
20
+ winform.Logd = function(...){
21
+ import debug;
22
+ import console;
23
+ import win.ui;
24
+ import time;
25
+ var args = {...};
26
+ var tm = time.now();
27
+ tm.format = "[%Y/%m/%d %H:%M:%S] ";
28
+ //
29
+ //var debugInfo = debug.queryinfo(2, "select source,function,upvars,name,currentline,activelines") ;
30
+ //winform.edit2.log(tostring(tm), "line: ", debugInfo[['currentline']], " ", ..string.join(args,' '),'\r\n');
31
+
32
+ winform.edit2.log(tostring(tm), ..string.join(args,' '),'\r\n');
33
+
34
+ // 滚动条随光标滚动
35
+ winform.edit2.scrollCaret();
36
+ }
37
+
38
+ winform.button.oncommand = function(id,event){
39
+ var code = winform.edit.text;
40
+ if(code and #code > 0) {
41
+ winform.code = code;
42
+ thread.invoke(
43
+ function(winform){
44
+ import php;
45
+ import console;
46
+ import debug;
47
+ import win.ui;
48
+ import time;
49
+
50
+ var code = winform.code;
51
+ //winform.edit2.text = code;
52
+ var ret;
53
+ php.begin();
54
+ php.print = function( msg ) {
55
+ //winform.edit2.print("echo:", msg);
56
+ //winform.edit2.print(msg);
57
+ winform.Logd(msg)
58
+ }
59
+
60
+ php.exec(code);
61
+ php.end();
62
+ //winform.edit2.print("");
63
+ }, winform
64
+ )
65
+ }
66
+ }
67
+
68
+ winform.button2.oncommand = function(id,event){
69
+ // 清空日志
70
+ winform.edit2.text = "";
71
+ }
72
+
73
+ winform.edit.text = /***
74
+ class test{
75
+ private $flag = "flag{this-is-flag}";
76
+ public $a = "snail";
77
+ static $b = "beta";
78
+ }
79
+
80
+ $test = new test; //建立一个test的对象;
81
+ $data = serialize($test); //将对象进行序列化;
82
+ echo $data;
83
+ ***/
84
+
85
+ winform.show();
86
+ win.loopMessage();
0 commit comments