PHP µ÷ÓÃ C# dll
ŪÁ˰ëÌì, PHP ÖÕÓÚÄܵ÷ÓÃÎÒµÄC# dll ÁË.
¸ÃËÀµÄ,ÎÒ¶ÔC# COM×¢²áÒ»Ïò²»Á˽â, PHP ÎĵµÉÏÖ»¸øPHPÄDz¿·ÖÄÚÈÝ,û¸æËßÎÒÔõôŪdll
ÎÒ»¹ÉµÙâÙâµÄÓà Regsvr32 ×¢²áÄǸöc# dll.
±³¾°:
Windows xp sp3 ; apache 2.2.14 ; php 5.2.12 ;
VS2010 beta ;
ÓïÑÔ:
PHP5 , C#
C#²¿·Ö:
´´½¨Ò»¸ö C# Class Library . (dll)
´´½¨Íê³Éºó, ´ò¿ªÏîÄ¿µÄÊôÐÔ,
ÔÚµãÑ¡×ó±ßµÄ "Application"(¾ÍÊǵÚÒ»¸ötab) , È»ºóµã»÷ Assembly Information °´Å¥ ,
ÔÚµ¯³öµÄDialogÖÐ, ±ØÐëÔڵײ¿¹´ÉÏ: Make assembly COM-visible !
·ñÔò , Õâ¸ödll½«²»ÄÜÒÔCOM·½Ê½·ÃÎÊ .
( µ±È», ÄãÒ²¿ÉÒÔÔÚ´úÂëÖеÄÀàÉùÃ÷ÖÐдÉÏ[ComVisible(true)] , Ч¹ûÒ»Ñù)
´úÂëÈçÏÂ:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace test
{
//[ComVisible(true)] //or check "Assembly COM-Visible" at Application-Assembly_Information dialog ;
public class PhpImage
{
public string test()
{
return "Hello world!";
}
}
}
È»ºó±àÒë³öÁËdll , ÕâÀï½Ð phpimage.dll
ÎÒÒÔΪֱ½ÓÔÚphpÖÐдÈçÏÂÓï¾ä¼È¿É:
<?php
$myPhpImg = new COM("test.PhpImage");
echo $myPhpImg ->test() ;
?>
ºóÀ´½á¹ûµ±È»ÊÇ´íÎóµÄ,ÎÞ·¨´´½¨com¶ÔÏó.
ÆäʵÓÃÆ¨¹ÉÏëÒ²ÖªµÀ, ϵͳÄÄÀïÖªµÀtest.PhpImageÊǶÔÓ¦ÄÄÒ»¸ödll !
¸ãÁ˰ëÌì, ºóÀ´·¢ÏÖÒ»¸öÌû×Ó,ÒÀÑù»ºù«:
http://hi.baidu.com/softways/blog/item/6c0755b515731dcb36d3cabf.html
ËûÊÇÒª:·¢²¼C# COM DLL
ÎÒÒ²²î²»¶à,ÎÒÖ»ÊÇÏëÖªµÀÔõôע²áC# µÄ COM DLL
ÎÒ¾ÍÔÙÖØ¸´Ò»±é°É:
¹Ø¼üÊÇ RegAsm.exe Õâ¸ö.net ¹¤¾ß³ÌÐò, Ïà¹Ø½éÉÜ:
http://msdn.microsoft.com/zh-cn/library/tzat5yw6(VS.80).aspx
Õâôע²áC# COM DLLµÄ :
(ps:ÎÒµÄdll½Ðphpimage.dll )
(ps2:ÇëÔÚphpimage.dllµÄÎļþ¼ÐÏÂ,µ÷ÓÃÕâ¸öÃüÁîÐÐ)
regasm phpimage.dll /tlb:phpimage.tlb /codebase
ok, Äã²»·ÅÐÄ¿ÉÒÔ²éÕÒregister, Äã»á·¢ÏÖÀïÃæÓÐÒ»¸ö test.PhpI
Ïà¹ØÎĵµ£º
/***************************by
garcon1986********************************/
<?php
// variable name is sensitive
$var = "sjg";
$Var = "wl";
echo $var.' loves '.$Var.'<br>';
echo "$var, $Var<p>";
//naming conventions for variables
//$4site = 'not y ......
/***************************by
garcon1986********************************/
<?php
// boolean integer float example
$action = false;
if($action == "show version"){
echo "the version is 123".'<br>';
}else if($action == false){
echo "action is false".'< ......
ÏîÄ¿ÉèÏë
ѧУ¸÷²¿ÃŵÄÍøÕ¾²¢·ÇÓõÄÒ»Ì×cmsϵͳ£¬ÐÐÕþ²¿ÃÅÓë¶þ¼¶Ñ§ÔºµÄÍøÕ¾ÊýÁ¿ÖÚ¶àÇÒ¿ª·¢ÈËÔ±µÄˮƽ²Î²î²»Æë£¬µ¼ÖÂÐÅÏ¢¼Ü¹¹±È½Ï»ìÂÒ¡£Í¨¹ýÒ»¸öÈ«¾ÖµÄ¹¤¾ßÌõʵÏÖȫУվµãÁ´½ÓÓ빫¸æ¶¯Ì¬¸üУ¨ÄÜÔÚÈκÎÒ»¸ö×ÓÕ¾µã¿´µ½×îÐµĹ«¸æ£©µÄ¹¦ÄÜ¡£
¹«¸æÄ£¿éÊý¾Ý¿âÉè¼Æ(Êý¾Ý¿â:globaltools)
Ê×ÏÈ´´½¨Ò»¸ö±íannouncement£¬°üÀ¨Ëĸö× ......
ÒÑÖªÓÐÒ»¸öXMLÎļþ£¨bookstore.xml£©ÈçÏ£º
<?xml version="1.0" encoding="gb2312"?>
<bookstore>
<book genre="fantasy" ISBN="2-3631-4">
<title>Oberon's Legacy</title>
<author>Corets, Eva</author>
&nb ......
<?php
/* @author: zhuyubing@gmail.com */
class Template{
var $code;
function Template($template){
$this->code = implode('', @file($tem ......