本篇文章不是讲解如何用.net开发自己的dll然后PHP通过com调用。主要记录PHP官方支持的DOTNET
基本语法如下:
$obj = new DOTNET("assembly", "classname")
assembly是net程序集名称,classname是程序集下的类,先用net的hashtable练练,好久没有写net.
$hashtable = new DOTNET("mscorlib","System.Collections.Hashtable"); $hashtable->Add(1,"张三"); $hashtable->Add(2,"李四"); $hashtable->Add(3,"王五"); $hashtable->Remove(3);//移除一个元素 echo $hashtable[3]; $hashtable->clear();//清除所有hashtable元素 unset($hashtable);
基本方法均通过,由于没有测试自己开发的dll注册程序集是否支持,可以自行测试,但是PHP已经有COM,彷佛多次一举。
//$ak开发密钥,$cityname城市名称(支持省县乡详细地址) public function getposition($ak,$cityname){ $callback=array('lng'=>0,'l...
<?php $data=array('a'=>1,'b'=>2,'c'=>3,'d'=>4); extract($data); var_dump($a,$b,$c,$d); ?>在人人商城中捡到的...
通过http推送消息给socket,socket服务再向客户端推送<?php /* * Socket推送 * 请用守护进程方式启动php msgservice.php & (socket只...
php多进程应用场景主要是非web端,fpm下是不支持多进程的,非类linux操作系统都不支持,请在cli模式使用.可以使用多进程做任务分发,批量计算,批量文件处理,批量爬虫,网络运维等等。下面看一份简单的入门demo//创建子进程 $pid=pcntl_fork(); //返回-1,创建失败,不...
PHP不像net支持多继承,自身只支持单继承,为了解决这个问题,php出了Trait这个特性,减少单继承语言的限制。并且能让代码复用率更高。说白了就是一个对象的属性和方法扩展工具一样。例如:trait exts { public f...
(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...