The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ Js导入JavaScript ]
为了更好地访问我们系统提供的JavaScript库,我们提供给了Javascript的方式来导入。当然,你也可以使用我们前面的提供Import标签来导入。
实现原理,我们通过Javascript利用框架提供SOAP API接口,远程请求Package中的 importJsClass方法来导入我们的Javascript文件。这里说起来
有一点空洞,我们将通过图文的方式为你表达清楚。
我们首先在我们系统的Js库中新建一个Test.class.js( D:\phpcondition\htdocs\doyouhaobaby\DoYouHaoBaby\LibCom\Js\Test.class.js )的文件,这个文件用来测试我们是否
导入成功了。
- /**
- * 我是一个测试方法( 我用来测试,JS 导入JS )
- *
- * @return void
- */
- function Test( sString ){
- alert( '我是一个测试方法( 我用来测试,JS 导入JS )\n 我的参数的值sString 的值为:'+sString);
- }
- Test( '-- The DoYouHaoBaby Framework --' );
如图:


我们在模板文件中写下的如下的代码:
- <import file="Js.Dyhb#package" />
- {script}
- Dyhb.Script.Import( 'Test' );
- {/script}
程序编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-23 07:19:22 */ ?>
- <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Dyhb.package.js"></script>
- <script type="text/javascript">
- Dyhb.Script.Import( 'Test' );
- </script>
如图:

程序运行后的结果如下:
如图:

分析:根据结果来看,我们成功了。这里,我把原理告诉大家。首先,我们使用这句代码:
- Dyhb.Script.Import( 'Test' );
此文件将会请求一个URL为
如图:

../?c=ssmi&a=index&class=Package&method=importJsClass¶m_soap1=Test
(注意:你可以查看Javascript的源代码处看,我这里截取一个图片给你看看,请看下面。)
如图:

程序重新组装成可用URL 为:http://localhost/doyouhaobaby/TestApp/index.php/?c=ssmi&a=index&class=Package&method=importJsClass¶m_soap1=Test
程序URL解析器通过根据系统的URL模式,默认pathinfo重定向为:
http://localhost/doyouhaobaby/TestApp/index.php/ssmi/index/class/Package/method/importJsClass/param_soap1/Test
这里的URL的意思,访问 ssmi控制器的index方法,并戴上三个参数,method=importJsClass ,class = Package ,附加参数param_soap1 =Test
然后,系统执行soap 的 ssmi接口控制器,并回调类Package的方法 importJsClass ,并带上参数 param_soap1 =Test
如图:

程序最后会再次重定向为:
http://localhost/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Test.class.js
如图:

好吧,你发现了吧,本文结束。
