aardio怎么运行php,aardio
项目
aardio
PHP
Javascript
简介
aardio主要用于桌面软件快速开发语言(aardio 也可以象PHP一样用于开发网站。),兼容动态类型、静态类型开发的混合型编程语言,aardio可以生成数百KB的独立EXE,不依赖任何外部运行库.
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言,常常搭配 Apache (web 服务器) 一起使用。PHP 语法非常类似于 Perl
和 C。
在Windows上可以使用 WAMPServer 等自动安装工具方便的创建运行环境,推荐开发工具 Zend Studio,phpDesinger7,Edit
Plus,Notepad++
JavaScript 是因特网上最流行的客户端脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer、
Mozilla、Firefox、Netscape、和 Opera。JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies等
实现方式
aardio源码文件存储为 *.aardio 格式的文本文件,也可以编译成二进制的 *.aardio
文件,aardio文件可以使用aardio编写的EXE加载运行,也可以在aardio中生成独立的EXE文件。aardio也支持与PHP一样的模板语法,可以将aardio代码置于 开始,以 ?> 结束的标记内,并在标记外放置HTML代码或其他文本。aardio不但可以用这种模板语法开发网站,也可以用于开发桌面软件。
PHP 的脚本块以<?php 开始,以 ?> 结束。您可以把 PHP 的脚本块放置在文档中的任何位置。 当然,在支持简写的服务器上,您可以使用
和 ?> 来开始和结束脚本块。例:<?php /PHP Document…… ?>
HTML 的
language="javascript">// JavaScript Document ……
注释
单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
在aardio中多行注释的首尾星号数目可以有多个,并且首尾数目必须匹配,使用此特性,只要星号数目不一样,就可以在注释中包含其他多行注释
在aardio中注释语句也可以用于赋值语句作为字符串使用.例如: var str = /*使用多行注释作为字符串换行总是被解释为'\r\n',也就是回车换行*/
单行的注释以 // 开始 多行注释以 /* 开头,以 */ 结尾。
与PHP相同
变量
变量可以不声明直接使用,
使用赋值语句初始化变量。变量默认为当前名字空间成员变量。
变量分为三种:
1、全局变量
2、当前名字空间变量(也可以算是全局变量)
3、局部变是
aardio的变量名也可以使用$符号,
但$是变量名的一部份
局部变量申明用var语句定义
例:var sqlstr; 若不使用var,
则此变量申明为当前名字空间成员变量。
例:color='#111';
使用self可表示当前名字空间,上面的语句等价于self.color = '#111'
在前面加上两点,则变量声明为全局变量,
例
..color = "#111"
变量可以不声明直接使用,使用赋值语句初始化变量。函数内部变量默认为局部变量。
变量分为三种:
1、全局变量
2、局部变是
PHP 中的所有变量必须以 $ 符号开始。 $号是变量的修饰前缀,但不是变量名称的一部份
在PHP中函数内部变量默认为局部变量(这与aardio,Javascript正好相反),使用 global 语句引入或声明全局变量.
例:
//用global关键字定义全局变量
global$g;
变量可以不声明直接使用,使用赋值语句初始化变量。
变量默认为全局变量。
变量分为三种:
1、全局变量
2、局部变是
Javascript的变量名也可以使用$符号,但$是变量名的一部份,例如在jQuery中$就是jQuery的别名.
局部变量申明用var语句定义
例:var sqlstr;
若不使用var,则此变量申明为全局变量。
例:color='#111';
全局表
global 对象
$GLOBALS 对象
window 对象
定义常量
变量名首字符是下划线表示成员常量
变量名首字符是下划线并大写表示全局常量
变量前面加上::修饰符表示全局常量
常量值赋于任何非null值以后即不可修改为其他不同的值
使用 const与define 定义常量,
1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。
2、define不能在类中定义而const可以。
3、const不能在条件语句中定义常量
4、const采用一个普通的常量名称,define可以采用表达式作为名称。
5、const的值只能接受静态的标量,而define可以采用任何表达式。
6、const 总是大小写敏感,然而define()可以通过第三个参数来定义大小写不敏感的常量。
例:
define('≈PI',M_PI);
const CHARSET = "中国";
不支持定义常量( 字面常量除外 )
成员操作符
对象.成员
对象->成员
对象.成员
定义类
//aardio代码:classmyclass{//ctor定义类的构造函数ctor( ){/*
构造函数中可以用
var语句定义在类作用域内部的私有变量.
*/varprivate = 123;this.name ="张三";this.getName =function(){returnthis.name;
}this.setName =function(name){this.name = name;
}
};//下面的这样增加类实例成员的方法,//javascript是不支持的age = 23;
gohome =function(){
io.print("I'm back")
}
}
//创建类实例对象varobject = myclass()
//PHP代码
classCart{//定义成员变量,//PHP里var可不是定义局部变量的意思var$items = 123;// 购物车中的项目// 把 $num 个 $artnr 放入车中functionadd_item ($artnr, $num){
$this->items[$artnr] += $num;
}// 把 $num 个 $artnr 从车中取出functionremove_item ($artnr, $num){if($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num;returntrue;
}else{returnfalse;
}
}
}
//创建类对象实例
$a = new Cart;
echo $a->items;//注意这里items前面不能再加$符号
//Javascript代码functionmyclass(){this.name ="张三";this.getName =function(){returnthis.name;
}this.setName =function(name){this.name = name;
}
}
JS用new关键字来创建对象实例
obj = new 函数名或对象名
obj = new 函数名(构造参数)
语句
io.print("hello world");
尾部的分号可以省略,函数调用的圆括号不能省略
尾部的分号不能省略,函数调用的括号可以省略.
document.write("Hello world");
尾部的分号可以省略,函数调用的圆括号不能省略
数组定义
有两种数组
数值数组 带有数字 ID 键的数组
var names ={"Peter";"Quagmire";"Joe"};
//创建指定长度数组
array = table.array( 10 )
//创建多维数组
array = table.array(3,5,{} )
关联数组数组中的每个 名字关联一个值
ages
= { Peter = 32 ; Quagmire = 30;Joe=34 };
数组成员也可数组,构成多维数组。
在aardio中只有一种数据结构,即表(table),表可以包含顺序数组,也可以包含稀疏数组,关联数组等
aardio使用分号分隔成员,并使用等号分隔键值对 .
有两种数组类型:
数值数组 带有数字 ID 键的数组
$names = array("Peter","Joe");
关联数组数组中的每个 ID 键关联一个值
$ages = array( "Peter"=>32, "Quagmire"=>30,
"Joe"=>34);
数组成员也可数组,构成多维数组。
PHP使用逗号分隔成员,并使用=> 分隔键值对
有两种数组
数值数组 带有数字 ID 键的数组
var names = ["Peter", "Quagmire", "Joe"];
也可以这样写
var names = new Array("Peter","Quagmire","Joe");
关联数组数组中的每个名字值关联一个值
var ages = [];
ages["peter"] = 32;
ages["Quagmire"] = 30;
数组成员也可数组,构成多维数组。
在javascript还可以使用大括号定义对象,
对象类似aardio中的table(表),也是在大括号中定义:
定义一个Javascript 对象:
var user = {"name":"zhangs", "age":28};
也可以写成:
var name = "zhangs", user = {name:name, age:28};
avascript使用逗号分隔成员,并使用冒号分隔键值对。
数组元素数量
取数组使用 #操作符
array = table.array( 10 )
数组长度 = #array;
使用 table.range(array ) 则可返回数组的最小,最大索引.
count() 函数计算数组中的单元数目或对象中的属性个数。 对于数组,返回其元素的个数,对于其他值,返回
1。如果参数是变量而变量没有定义,则返回 0。如果 mode 被设置为 COUNT_RECURSIVE(或
1),则会递归底计算多维数组中的数组的元素个数。语法:
count(array,mode)
length 属性可设置或返回数组中元素的数目。
数组的 length 属性总是比数组中定义的最后一个元素的下标大
1。对于那些具有连续元素,而且以元素 0 开始的常规数组而言,属性 length 声明了数组中的元素的个数。语法:arrayObject.length
数组
尾部追加成员
array = {}
table.push( array,"追加成员" ) //返回数组长度
$names = array("Peter","Joe");
names[] = "Quagmire";
//也可以这样写
array_push($names, "apple", "apple2");
var a = [1,2,3,4,5];
var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
数组尾部弹出成员
table.pop( 数组对象,弹出个数)
用于删除并返回数组的指定个数元素,如果个数为负数表示弹出元素反向排列。
如果省略第二个参数,则与PHP,Javascript用法一样,弹出最后一个元素。
arrayObject.pop()
用于删除并返回数组的最后一个元素
array_pop(数组对象)
弹出并返回 array 数组的最后一个成员
截取数组
table.slice( 数组对象,开始位置,结束位置)
返回截取数组
array_slice ( 数组对象, 开始位置,长度)
返回截取数组,注意第二个参数是指定长度,而不是结束位置
数组对象.slice(开始位置,结束位置)
返回截取数组
定义函数
function函数名(参数){return返回值,返回值2
}aardio函数可以返回多个值
function函数名(参数){return返回值
}
function函数名(参数){return返回值
}
定义字符串
字符串可以放入单引号或双引号, 在双引号中不支持转义符,在单引号中可使用转义符.例:
str = "abcd"
str = 'abcd\t'
aardio中字符串可以直接换行,双引号将换行解释为'\n',而单引号忽略所有换行
字符串可以放入单引号或双引号
$str = "abcd\t"
$str = 'abcd'
双引号中支持转义符,但单引号不支持,与aardio正好相反.这也意味着,单引号速度比双引号解析字符串的速度更快
字符串可以放入单引号或双引号,都支持转义符
var str = "abcd\t"
var str = 'abcd\t'
字符串连接
使用两个加号连接
var str = "字符串" ++ "字符串"
连接字符串字面量时也可以省略为一个加号,例:
var str = "字符串" + "字符串"
使用一个圆点连接
$str = "字符串"."字符串"
使用加号连接
var str = "字符串" + "字符串"
字符串分割
用法示例:
var数组 = string.split("a,b,c,d",",")
explode– 将字符串分割到数组中
说明:
array explode ( string pattern, string string
[, int limit])
注: php中也有split函数,但使用正则表达式分割,其他用法一样,explode()函数速度更快一些
split() 方法用于把一个字符串分割成字符串数组。
语法:
stringObject.split(separator,howmany)
返回部分字符串
用法示例:
varstr = string.sub("12345",2,5)
substr() 函数返回字符串的一部分。
语法:
substr(string,start,length)
substr() 方法可在字符串中抽取
从 start 下标开始的指定数目的字符。
语法:
stringObject.substr(start,length)
模式匹配
aardio使用一种快速轻量的模式匹配语法,基本语法基本类似正则表达式,但是速度更快,使用更简单,并且所有aardio函数默认支持
另外通过标准库 string.regex 也可以支持正则表达式.
支持正则表达式
支持正则表达式
数学函数
所有数学函数都在math名字空间
io.open() //下取整
io.print( math.floor(5.1) )
floor() 函数向下舍入为最接近的整数。 语法: floor(x)返回不大于 x 的下一个整数,将 x
的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。实例:<?php
echo(floor(5.1)); ?>
floor() 方法可对一个数进行下舍入。 语法: Math.floor(x)floor()
方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。实例:
document.write(Math.floor(5.1) + "
")
数学函数
语法:math.round(x,prec)返回将 x 根据指定精度 prec
(十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
round() 函数对浮点数进行四舍五入。 语法:round(x,prec)返回将 x 根据指定精度 prec
(十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。实例:<?phpecho (round(0.49)); ?>
round() 方法可把一个数字舍入为最接近的整数。 语法:Math.round(x)与 x 最接近的整数。实例:
aardio怎么运行php,aardio相关推荐
- aardio教程_官方AARDIO课程已经开课了!学习的速来报道!
aardio视频培训课程(2018新版) 因为课程都是制作视频 - 所以上课时间不受限制. 1.本次课程共计50节视频课程,每周一课,培训时间为一年(1月15日以后报名按报名交费时间开始计算). 2. ...
- 请教税控开票数据aardio如何连接
最近全国税控开票系统升级2.0版,很多企业财务都是从开票系统汇总开票数据的,开发商航天出的软件很坑,企业录入的数据不让导出 从官方问题解答中得知数据库是cc3268.dll, 但不知如何连接 通过反编 ...
- aardio - 动态视频桌面
用aardio做动态视频桌面,全网首发,就问你:炫不炫!! 如果您运行了各种桌面管理软件,请先关闭,不然看不到效果. 复制以下代码,运行后,看看桌面,炫不炫! import fonts.fontAwe ...
- 各编程语言 + aardio 相互调用示例(简易代码)
代码都很简单,复制可直接运行.aardio 快速调用 C,C++,C#,Java,R,V,Python,JavaScript,Node.js,Rust,PHP,Ruby,PowerShell,Fort ...
- <有搞头>---aardio+Python
<有搞头>---aardio+Python 原因和目的: 准备材料: 运行: 发布: 测试(装X): 原因和目的: 强大的代码需要一个简单的操作界面.研究如下,与民同乐: 1.人生苦短,我 ...
- aardio + AutoHotkey 混合编程
本文主要介绍 aardio + AutoHotkey 混合编程. 在 aardio 中可以调用很多编程语言,例如 C语言.C++.C#.Java.Python.R.Javascript.Node.Js ...
- aardio中获取网络图片经GDI处理后保存到本地
import process; import fsys.stream; import gdip.bitmap; import inet.http;//获取一个网络图片 var pngData = in ...
- 学习了aardio一天后开发的网络调式工具箱
无广告,无后台,欢迎提建议 支持: Websocket Server模式,支持群发.单发 Websocket Client 模式 TCP Server 模式,支持群发.单发 TCP Client 模式 ...
- aardio名字空间库的扩展方法(一)
aardio是一款高效的win桌面编程语言,有丰富的类库.名字空间库可供调用.但是在实际开发中,我们仍然免不了对现有的库进行扩展,以适合自己的开发需求.(注意,是扩展,而不是直接修改现有的库,否则ID ...
- aardio名字空间库的扩展方法(二)
接前文. 既然要扩展spaceA库,就需要建立一个新库,并且把spaceA库的成员纳入到新库中,然后再考虑增加一些功能. import test.spaceA;//导入基库 //这样基库的内容就包含在 ...
最新文章
- 本地Yum仓库搭建部署
- awk 统计数据在文件中的出现次数
- 安全是一个系统问题包括服务器安全,信息安全技术题库:信息泄露对于Web服务器的危害在于( )。...
- 引用管理器没有程序集_Microsoft弃用远程桌面连接管理器
- Maven 配置文件 POM 的常用插件配置代码
- 牛客练习赛26 E-树上路径 (树链剖分+线段树)
- 如何洗牌 ListT 中的元素?
- matlab可以使用词云分析吗,利用豆瓣短评数据生成词云
- bzoj1601 灌水
- CCNP-17 OSPF试验13(BSCI)
- dout java,java socket 发送文件
- NOIP模拟赛20161016R2
- AcWing 188 武士风度的牛 题解(BFS)
- 你有必要不沾计算机一段时间英语,八年级上册英语第一单元背默(人教版)
- 整数幂C语言1005,zzuli1005: 整数幂 - 菜鸟头头
- 记kafka partition数据量过大导致不能正确重启
- 高等数学教程【单变量微积分】内容目录
- DEJA_VU3D - Cesium功能集 之 052-模拟卫星轨道(高空)效果
- 【LNMP】部署php应用
- 家庭暴力妻子想离婚另外一方不肯怎么处理
热门文章
- 新旧版MATLAB中的希尔伯特-黄变换(HHT)及其边际谱的求取问题
- 七夕表白攻略:程序员的代码情书
- Android源码阅读记录
- 《廊桥遗梦》这样确切的爱,一生只有一次
- php下对港澳台身份证进行验证
- 【0514 更新中】CVPR 2019 论文汇总 按方向划分
- 电路交换、报文交换、分组交换、异步传输模式等通信交换技术的区别
- 【Ubuntu】查询显卡型号
- 张成分析(spanning test):portfolio_analysis.Spanning_test
- Python | 基础学习(二)函数基础、非数字型变量(列表、元组、字典、字符串)、切片、for循环