本篇文章不是讲解如何用.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,彷佛多次一举。
重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/** * 获取应用根目录 * @return string */ public static function getRootP...
<?php /** * daemonize让当前脚本为守护进程执行 * @param string $callback 匿名函数 */ function daemonize($callback) {...
php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){ //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...
最近在项目中处理一个关于商品数据重复需要删除多余的商品记录,但是删除一条商品必然要把关联的其他表商品的id和其他商品信息更换为正确的,删除一个商品记录,同时要去修改100多张表的关联商品数据,在项目中引用了tp orm 1.2版本,由于项目是php5.6版本,没法使用最新orm,在代码中每处理1个商...
php event扩展在windows中依赖于php_sockets扩展,因此在php.ini中必须先加载php sockets扩展,如下。extension=sockets extension=event...
本教程使用的定时任务基于EasyTak,EasyTask官方文档:https://gitee.com/392223903/EasyTask(1).安装tp6composer create-project topthink/think tp(2).安装定时任务compos...