Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
传统方式的导入外部JS和CSS文件的方法是直接在模板文件使用:
- <script type='text/javascript' src='/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js'>
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/Util/Style.css" />
系统提供了专门的标签来简化上面的导入。
第一个是import标签 ,导入方式采用类似DoYouHaoBaby 的G::import函数的命名空间方式,例如:
- <import file="Js.Util.Array" />
程序编译后的PHP 代码为:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:10:10 */ ?>
- <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>
如图:

程序运行后结果为:
- <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>
如图:

Type属性默认是js, 所以下面的效果是相同的:
- <import type='js' file="Js.Util.Array" />
程序编译后的PHP 代码为:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:18:56 */ ?>
- <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>
如图:

程序运行结果为:
- <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>
如图:

还可以支持多个文件批量导入,例如:
- <import file="Js.Util.Array,Js.Util.Date" />
程序编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:26:30 */ ?>
- <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script><script
- type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Date.js"></script>
如图:

程序最后的运行结果如下:
- <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script><script
- type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Date.js"></script>
如图:

上面的方式默认的import的起始路径是框架内部的LibCom目录,如果需要指定其他的目录,可以使用basepath属性。
LibCom是框架内部存放一些框架基本的图片、Css、Js程序的仓库。在我们的开发环境中,LibCom的路径为:
D:\phpcondition\htdocs\doyouhaobaby\DoYouHaoBaby\LibCom
其中DoYouHaoBaby为框架的目录,也就是LibCom为框架内部的一个固定的路径。
如图:

现在我们修改basepath的路径,来导入其它的文件:
现在我们导入网站公用目录的文件:
- <import file="Org.Util.Array" basepath='PUBLIC'/>
程序运行后PHP 编译后的代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:38:20 */ ?>
- <script type="text/javascript" src="/doyouhaobaby/Public/Org/Util/Array.js"></script>
如图:

程序运行结果如下:
- <script type="text/javascript" src="/doyouhaobaby/Public/Org/Util/Array.js"></script>
如图:

说明:所谓的网站公用目录是在多项目中开发中,我们在网站根目录( __ROOT__ ,这个由系统解析,这里我的开发环境的__ROOT__的值为
:/doyouhaobaby)中建立一个Public目录,我们将网站的一些公用的图片、Css、文件放在一起,以便于多个项目调用。
如图:

同时我们也可以导入项目公用目录的文件(入口文件的公用目录) :
- <import file="Org.Util.Array" basepath='APPPUB'/>
程序运行后PHP 编译后的代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:49:52 */ ?>
- <script type="text/javascript" src="/doyouhaobaby/TestApp/Public/Org/Util/Array.js"></script>
如图:

程序运行结果如下:
- <script type="text/javascript" src="/doyouhaobaby/TestApp/Public/Org/Util/Array.js"></script>
如图:

说明:所谓的项目公用目录(相对入口文件)当前项目中开发中,我们在入口的等级中建立一个Public目录,我们将网站的一些公用
的图片、数据库备份、上传附件放在一起,以便于规律的管理。
如图:

为了方便,程序还提供了模板公用目录,我们也可以导入模版公用目录的文件(模板主题下的公用目录) :
- <import file="Org.Util.Array" basepath='TMPLPUB'/>
程序运行后PHP 编译后的代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:07:17 */ ?>
- <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Org/Util/Array.js"></script>
如图:

程序运行结果如下:
- <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Org/Util/Array.js"></script>
如图:

说明:所谓的模板公用目录(相对模板主题目录)在程序开发中,除了那些公用的文件外,另外每一个主题的都包含自己的独特的图
片、Css样式,Javascript程序。我们在项目的主题中建立一个Public目录,我们将网站的一些公用的图片、Css、Javascript程序放
在一起,同时我们还可以将公用的模板文件放置里面,以便于规律的管理。
如图:

当然,你也可以导入你自定义的目录,我们这里随便指定一个( 这里只能是绝对路径和相对路径,相对路径是相对入口文件的路径
,不能使用物理路径,如果使用绝对路径,系统提供了大量绝对路径的常量,后面我们会提到,当然也可以查看后面的附录。 ) :
- <import file="Org.Util.Array" basepath='./Test/Hello'/>
程序运行后PHP 编译后的代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:28:50 */ ?>
- <script type="text/javascript" src="./Test/Hello/Org/Util/Array.js"></script>
如图:

程序运行结果如下:
- <script type="text/javascript" src="./Test/Hello/Org/Util/Array.js"></script>
如图:

说明:这的路径统一不用在后面加上‘/’,同时这也是DoYouHaoBaby 习惯性做法,路径后面统一不加‘/’或者‘\’。当然你如果
硬要加上一个‘/’,虽然不影响路径,但是URL 中出现了双斜杆,看起来不太美观吧。
通过上面的演示,你会发现,我们定义了一些特殊路径,特殊路径只有四个:
(这里我们通过一个表格来展示)
| 关键词 | 描述 | 物理路径 | URL 绝对路径(相对入口文件) |
|---|---|---|---|
| LibCom( 默认起始目录 ) | 框架内部封装目录 | D:\phpcondition\htdocs\doyouhaobaby\DoYouHaoBaby\LibCom | /doyouhaobaby/DoYouHaoBaby/LibCom |
| PUBLIC | 网站公用 | D:\phpcondition\htdocs\doyouhaobaby\Public | /doyouhaobaby/Public |
| APPPUB | 项目公用 | D:\phpcondition\htdocs\doyouhaobaby\TestApp\Public | /doyouhaobaby/TestApp/Public |
| TMPLPUB | 模板公用 | D:\phpcondition\htdocs\doyouhaobaby\TestApp\Tpl\Default\Public | /doyouhaobaby/TestApp/Tpl/Default/Public |
同时,上面我们演示了导入Javascript文件,下面我们会详细讲解如何在程序中导入Css文件,PHP 脚本,Img图像文件。这些文件除
了在type标签上不一样外,其它关于路径定义的都和上面一样。
我们导入一个Css文件到我们程序中去:
- <import file="Css.Util.Style" type='css' basepath="TMPLPUB"/>
程序运行后的编译PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:40:51 */ ?>
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/Util/Style.css" />
如图:

程序运行后的结果如下:
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/Util/Style.css" />
如图:

我们导入一个PHP 文件到我们程序中去:
- <import file="Org.Util.Array" type='php' basepath="TMPLPUB"/>
程序运行后的编译PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:44:54 */ ?>
- <?php G::import("Org.Util.Array"); ?>
如图:

我们导入一个图片 文件到我们程序中去(框架内部LibCom/Img中我们放置了一些系统必须的图片,比如DoYouHaoBaby程序Logo,我
们现在就导入进来) 。我们在模板文件写入如下的代码:
- {~$sAboutDyhbLogoTitle='The DoYouHaoBaby Framework Logo | 代码行云流水,开发如此简单< NOT TM ,BUT TMD >'}
- <import file="Img.Logo#gif" type='img' title="{$sAboutDyhbLogoTitle}" />
程序运行后的编译PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:52:51 */ ?>
- <?php $sAboutDyhbLogoTitle='The DoYouHaoBaby Framework Logo | 代码行云流水,开发如此简单< NOT TM ,BUT TMD >' ; ?>
- <img src="/doyouhaobaby/DoYouHaoBaby/LibCom/Img/Logo.gif" title="<?php echo( $sAboutDyhbLogoTitle ); ?>"/>
如图:

程序运行结果如下:
- <img src="/doyouhaobaby/DoYouHaoBaby/LibCom/Img/Logo.gif" title="The DoYouHaoBaby Framework Logo | 代码行云流水,开
- 发如此简单< NOT TM ,BUT TMD >"/>
如图:


分析:也许你会发现图片文件多了一个title属性,我们可以在title属性中为图片指定一个标题,标题支持变量。
使用Load标签导入当前网站公用Js或者Css:
- <load file="/doyouhaobaby/Public/Css/common.css" />
- <load file="/doyouhaobaby/Public/Js/Common.js" />
程序运行后的编译PHP 代码为:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:05:20 */ ?>
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/Public/Css/common.css" />
- <script type="text/javascript" src="/doyouhaobaby/Public/Js/Common.js"></script>
如图:

程序执行后的结果:
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/Public/Css/common.css" />
- <script type="text/javascript" src="/doyouhaobaby/Public/Js/Common.js"></script>
如图:

在file属性中可以使用特殊模板标签替换,同时Load标签支持代码语法。Load标签可以无需指定type属性,系统会自动根据后缀来辅
助判断。例如:
- <load file="../Public/Js/Common.js" />
- <load file="../Public/Css/common.css" />
- {load ../Public/Js/Common.js}
- {load ../Public/Css/common.css }
编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:19:10 */ ?>
- <script type="text/javascript" src="../Public/Js/Common.js"></script>
- <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />
- <script type="text/javascript" src="../Public/Js/Common.js"></script>
- <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />
如图:

程序运行后的结果为:
- <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Js/Common.js"></script>
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/common.css" />
- <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Js/Common.js"></script>
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/common.css" />
如图:

分析:也许你看到了编译后的PHP 的代码中的标签还是../Public,但是最后显示的Html的代码却被替换成
了/doyouhaobaby/TestApp/Tpl/Default/Public,简洁吧。程序为了简化操作,提供了一组系统替换关键常量,关于这个后面,我们
会提到。当然,你也参考我们后面的附录。
同时为了简化操作,系统还提供了两个标签别名js和css 用法和load一致,例如:
- <js file="__PUBLIC__/Js/Common.js" />
- <css file="../Public/Css/common.css" />
程序编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:26:20 */ ?>
- <script type="text/javascript" src="__PUBLIC__/Js/Common.js"></script>
- <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />
如图:

程序运行后的结果如下:
- <script type="text/javascript" src="/doyouhaobaby/Public/Js/Common.js"></script>
- <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/common.css" />
如图:

同时,DoYouHaoBaby 的代码标签支持简单功能的代码,关于代码标签语法,上面的{load }标签就是这种,下面我们将介绍其它几种
代码css和js语法:
导入一个外部的js,或者css文件:
- {js __PUBLIC__/Js/Common}
- {css ../Public/Css/common}
程序编译后的PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:37:48 */ ?>
- <script type="text/javascript" language="javascript" src="__PUBLIC__/Js/Common.js"></script>
- <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />
如图:

分析:这种代码方式,不支持node标签的高级方法,代码方式不用添加后缀。
页面嵌入的js或者css代码,例如我们在模版中写下如下的代码:
- {style}
- .img{ border:none;}
- {/style}
- {script}
- var hello ='test';
- {/script}
程序运行后的编译PHP 代码如下:
- <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:42:26 */ ?>
- <style type="text/css">
- .img{ border:none;}
- </style>
- <script type="text/javascript">
- var hello ='test';
- </script>
如图:

程序运行结果如下:
- <style type="text/css">
- .img{ border:none;}
- </style>
- <script type="text/javascript">
- var hello ='test';
- </script>
如图:

关于导入文件我们就讲解到这里了,虽然看似说得挺复杂,其实我们只是为了详细地为你讲解清楚,然后就是花了很多笔墨来表述。
The DoYouHaoBaby PHP Framework | 代码行云流水,开发如此简单< NOT TM ~ BUT TMD >
