本篇文章不是讲解如何用.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,彷佛多次一举。
获取浏览器信息原理是基于浏览器的UA信息,早在AsP时代就这样判断,但是腾讯总是喜欢自己折腾,不知道以后会修改成什么! 提取自人人商城官方自带的判断方法:function is_weiXin() { if (empty($_SERV...
<?php /* * 单粒模式,只能造出一个对象 1.肯定每次new只能返回一个对象,可以使用静态方法解决 2.子类继承也禁止重写构造方法,添加final搞定 * */ ...
php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/* * 获取当前PHP文件名称 */ if (!function_exists('phpself...
开发com组件可以用c++,vc++,net,我比较熟悉net,演示用dnet(1).创建项目:启动vs2017,新建项目,选择Visual C# ->Windows桌面->类库通用windows(2). 修改Com项目:点击 项目->项目属性,再点击应用程序->程序集信息,...
php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){ //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...
将jsonp转为PHP数组和对象。/** * jsonp转数组|Jsonp转json * @param string $jsonp jsonp字符串 * @param bool $as...