• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > PHP开发者究竟需不需要Silverlight ?

PHP开发者究竟需不需要Silverlight ?

录入:edatop.com     点击:

  你认为PHP开发者不需要Silverlight吗?再好好考虑一下。通过动态产生XAML(扩展应用程序标记语言),PHP开发者使用微软公司的Silverlight绝技可以使他们的技能锦上添花,并且可以给他们的PHP页面增加全新的视觉组件,本文详细介绍通过使用XAML代码、JavaScript和PHP构建一个简单的Silverlight应用程序。

  Silverlight给那些热爱.NET的开发者,特别是那些精通微软开发工具如Visual Studio® 2008和最新的Expression® Studio的人提供许多诱人之处,但对于PHP开发者而言,仍然可以大受裨益的,事实上,使用Silverlight、XAML、PHP和JavaScript代码,将会使你的PHP页面增色不少。

  为了演示Silverlight作为一款浏览器插件它的众多功能,我打算不用微软的开发的工具开发一款简单的Silverlight应用程序来进行说明,这个demo主要集中讲述Silverlight运行时作为一个XAML解释器的角色,由于它没有进入.NET开发,你可以在Silverlight 1.0或2.0 alpha版本中使用它。

  创建一个强壮的PHP应用程序,你需要遵守许多关键原则:

  ●在Silverlight应用程序中使用XAML
  ●使用PHP投递动态XAML
  ●在XAML代码中添加鼠标事件创建一个高度敏感的UI

  注意:这里所要做的事情在任何一个文本编辑器中都能实现,包括记事本,就我个人经验而言,我推荐Editplus,它非常友好而且使用起来也很简单。

  第1步:使用XAML组件创建一个示例页面

  第一步是最复杂的一步,这一步的目标是要将某些内容建立起来并让它可以脱离Expression Studio运行。

  首先,确保你安装了最新的Silverlight运行库。你可以选择使用最近发布的Silverlight 1.0,但由于本站的其他文章可能需要安装Silverlight 2.0 alpha版本,故你还是最好选择安装最新的2.0版本。

  接下来,以XAML格式创建一个控制面板,绘制一排有颜色的小圆点,如图1所示。大量的所见即所得的XAML编辑器发行了多个不同阶段的产品,但在这里,我选择了微软的Expression® Design,在绘制了一系列的小圆点后,我使用了Export功能,将其设置为Silverlight,并接受所有默认的选项。

\

图1:XAML控制面板

  或者你将清单1中的代码拷贝并粘贴到一个名叫controlPanel.xaml的文件中也行。

  清单1:controlPanel.xaml

<?xml version="1.0" encoding="utf-8"?>><Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="controlPanel_design"><Canvas x:Name="Layer_1" Width="640" Height="80" Canvas.Left="0" Canvas.Top="0"><Ellipse x:Name="Ellipse" Width="71" Height="71" Canvas.Left="99.5133" Canvas.Top="5.5" Stretch="Fill" StrokeThickness="3" StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FFFF0000"/><Ellipse x:Name="Ellipse_0" Width="71" Height="71" Canvas.Left="192.86" Canvas.Top="5.5" Stretch="Fill" StrokeThickness="3" StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FFFFFF00"/><Ellipse x:Name="Ellipse_1" Width="71" Height="71" Canvas.Left="286.207" Canvas.Top="5.5" Stretch="Fill" StrokeThickness="3" StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FF00C800"/><Ellipse x:Name="Ellipse_2" Width="71" Height="71" Canvas.Left="379.553" Canvas.Top="5.5" Stretch="Fill" StrokeThickness="3" StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FF230FD2"/><Ellipse x:Name="Ellipse_3" Width="71" Height="71" Canvas.Left="472.9" Canvas.Top="5.5" Stretch="Fill" StrokeThickness="3" StrokeLineJoin="Round" Stroke="#FF000000" Fill="#FFC80FA0"/></Canvas></Canvas>

  关于XAML有两件事情需要注意:

  正如你所看到的那样,它实际上还是XML,因此,只要文档类型还是那样定义的,它还是可以象其他XML文件那样进行投递。
  注意图1中的图像是如何转换成Ellipse标签嵌套在Canvas标签中的,从编程角度而言,产生这样的代码并不困难。

  在你的网页中使用XAML产生Silverlight应用程序关键的文件是Silverlight.js,Visual Studio 2008和Expression Studio开发工具都会自动创建这个文件,并包含在你的web项目中,对于本文给出的demo而言,你需要从http://assets.devx.com/ria/21291.js下载,你可以在MSDN上的"安装Silverlight插件"(http://www.devx.com/RIA/Link/36025)文章了解更多关于这个文件的信息。

  注意:建议不要独立使用这个文件,因为微软经常更新JavaScript。实际上,要创建这个文件,我是通过创建一个空白的Microsoft ® Expression® Blend 2项目,然后拷贝Silverlight.js文件到我们的demo中。

  你也可以在你的网页上再添加一些JavaScript内容来实例化Silverlight对象。因此,我创建了一个createSilverlight.js文件,它的代码如清单2所示。

  清单2:createSilverlight.js
 

function createControlPanel(){Silverlight.createObjectEx({source: "controlPanel.xaml",parentElement: document.getElementById("dotControlPanel"),id: "slControlPanel",properties: {width: "100%",height: "100%",inplaceInstallPrompt:true,version: "1.0"}});}if (!window.Silverlight) window.Silverlight = {};Silverlight.createDelegate = function(instance, method) {return function() {return method.apply(instance, arguments);}}

  仔细研究一下清单2,你会发现一些有趣的事情:

  ● createSilverlight.js是示例代码的标准文件名,同通常也保留了创建Silverlight的功能,但正如你在这里所看到的,名字完全由你自己定。
  ● 注意其中的Silverlight.createObjectEx调用,它的源是一个XAML文件,也就是你刚刚创建的那个文件,但实际上那个源可以是任何能够返回XAML代码的文件,包括编译后的二进制文件或PHP脚本文件。
  ● parentElement指定了显示结果要用到的DOM对象。
  ● id就是这个Silverlight控件的ID,如果创建了多个控件,确保它是唯一的。
  ● 特别要注意properties属性,你可以指定真实的尺寸规格,也可以象我这里这样使用100%,但你必须要小心inplaceInstallPrompt和version的值。在前面引用的那篇MSDN文章(http://www.devx.com/RIA/Link/36025)对安装提示做了详细说明。这里的版本号,由于之前早就定了要使用Silverlight 1.0运行时程序库,所以这里就指定为1.0。但你在开发.NET应用程序时,如果使用了新版本的某些功能,那么请在这里指定为2.0.

  为了将它们集成到一起,创建一个测试页PHPdemo.htm,它的内容如下。

  清单3: PHPdemo.htm

<html> <head> <title>Silverlight PHP Demo</title><script type="text/javascript" src="Silverlight.js"></script><script type="text/javascript" src="createSilverlight.js"></script><style type="text/css">.controlPanel {height: 80px;width: 640px;}.XAMLCanvas {height: 480px;width: 640px;}</style> </head> <body><div><script type="text/javascript">createControlPanel();</script></div><div></div> </body></html>

  没有什么好解释的,这里引入了两个外部JavaScript文件,通过css设置了一些尺寸规格,然后添加了两个div,一个用于控制面板,一个用于显示结果,在div里面,调用了一个JavaScript函数,实例化Silverlight对象。

  在Web浏览器中运行这个页面,你应该会看到某些Silverlight发生作用了,如图2所示。

\

上一篇:面向工业电脑与嵌入式系统的节电长效内存
下一篇:FTTx构建移动全业务接入网

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图