The DoYouHaoBaby PHP Framework中文开发文档手册
Copyright(c) DoYouHaoBaby.NET All Rights Reserved.
[ 导入文件 ]
1:传统导入

传统方式的导入外部JS和CSS文件的方法是直接在模板文件使用:

  1. <script type='text/javascript' src='/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js'>     
  2. <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/Util/Style.css" />  

系统提供了专门的标签来简化上面的导入。


2:import标签导入

第一个是import标签 ,导入方式采用类似DoYouHaoBaby 的G::import函数的命名空间方式,例如:

  1. <import file="Js.Util.Array" />   


程序编译后的PHP 代码为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:10:10  */ ?>   
  2. <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>  


如图:


程序运行后结果为:

  1. <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>  

如图:

Type属性默认是js, 所以下面的效果是相同的:

  1. <import type='js' file="Js.Util.Array" />  

 
程序编译后的PHP 代码为:
  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:18:56  */ ?>   
  2. <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>  

如图:

程序运行结果为:

  1. <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script>  

如图:

还可以支持多个文件批量导入,例如:

  1. <import file="Js.Util.Array,Js.Util.Date" />   


程序编译后的PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:26:30  */ ?>   
  2. <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script><script    
  3.   
  4. type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Date.js"></script>  

如图:

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

  1. <script type="text/javascript" src="/doyouhaobaby/DoYouHaoBaby/LibCom/Js/Util/Array.js"></script><script    
  2.   
  3. 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的路径,来导入其它的文件:

现在我们导入网站公用目录的文件:

  1. <import file="Org.Util.Array" basepath='PUBLIC'/>  

程序运行后PHP 编译后的代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:38:20  */ ?>   
  2. <script type="text/javascript" src="/doyouhaobaby/Public/Org/Util/Array.js"></script>  

如图:

程序运行结果如下:

  1. <script type="text/javascript" src="/doyouhaobaby/Public/Org/Util/Array.js"></script>  

如图:

说明:所谓的网站公用目录是在多项目中开发中,我们在网站根目录( __ROOT__ ,这个由系统解析,这里我的开发环境的__ROOT__的值为

:/doyouhaobaby)中建立一个Public目录,我们将网站的一些公用的图片、Css、文件放在一起,以便于多个项目调用。

如图:


同时我们也可以导入项目公用目录的文件(入口文件的公用目录) :

  1. <import file="Org.Util.Array" basepath='APPPUB'/>  

程序运行后PHP 编译后的代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 00:49:52  */ ?>   
  2. <script type="text/javascript" src="/doyouhaobaby/TestApp/Public/Org/Util/Array.js"></script>  

如图:

程序运行结果如下:

  1. <script type="text/javascript" src="/doyouhaobaby/TestApp/Public/Org/Util/Array.js"></script>  

如图:

说明:所谓的项目公用目录(相对入口文件)当前项目中开发中,我们在入口的等级中建立一个Public目录,我们将网站的一些公用

的图片、数据库备份、上传附件放在一起,以便于规律的管理。

如图:


为了方便,程序还提供了模板公用目录,我们也可以导入模版公用目录的文件(模板主题下的公用目录) :

  1. <import file="Org.Util.Array" basepath='TMPLPUB'/>  

程序运行后PHP 编译后的代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:07:17  */ ?>   
  2. <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Org/Util/Array.js"></script>   

如图:

程序运行结果如下:

  1. <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Org/Util/Array.js"></script>   

如图:

说明:所谓的模板公用目录(相对模板主题目录)在程序开发中,除了那些公用的文件外,另外每一个主题的都包含自己的独特的图

片、Css样式,Javascript程序。我们在项目的主题中建立一个Public目录,我们将网站的一些公用的图片、Css、Javascript程序放

在一起,同时我们还可以将公用的模板文件放置里面,以便于规律的管理。

如图:

 

当然,你也可以导入你自定义的目录,我们这里随便指定一个( 这里只能是绝对路径和相对路径,相对路径是相对入口文件的路径

,不能使用物理路径,如果使用绝对路径,系统提供了大量绝对路径的常量,后面我们会提到,当然也可以查看后面的附录。 ) :

  1. <import file="Org.Util.Array" basepath='./Test/Hello'/>  

程序运行后PHP 编译后的代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:28:50  */ ?>   
  2. <script type="text/javascript" src="./Test/Hello/Org/Util/Array.js"></script>  

如图:

程序运行结果如下:

  1. <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\Publi c /doyouhaobaby/TestApp/Public 
TMPLPUB  模板公用 D:\phpcondition\htdocs\doyouhaobaby\TestApp\Tpl\Default\Public   /doyouhaobaby/TestApp/Tpl/Default/Public 

 

同时,上面我们演示了导入Javascript文件,下面我们会详细讲解如何在程序中导入Css文件,PHP 脚本,Img图像文件。这些文件除

了在type标签上不一样外,其它关于路径定义的都和上面一样。


我们导入一个Css文件到我们程序中去:

  1. <import file="Css.Util.Style" type='css' basepath="TMPLPUB"/>  


程序运行后的编译PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:40:51  */ ?>   
  2. <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/Util/Style.css" />   

如图:


程序运行后的结果如下:

  1. <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/Util/Style.css" />   

如图:


我们导入一个PHP 文件到我们程序中去:

  1. <import file="Org.Util.Array" type='php' basepath="TMPLPUB"/>  


程序运行后的编译PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:44:54  */ ?>   
  2. <?php G::import("Org.Util.Array"); ?>  

如图:


我们导入一个图片 文件到我们程序中去(框架内部LibCom/Img中我们放置了一些系统必须的图片,比如DoYouHaoBaby程序Logo,我

们现在就导入进来) 。我们在模板文件写入如下的代码:

  1. {~$sAboutDyhbLogoTitle='The DoYouHaoBaby Framework Logo | 代码行云流水,开发如此简单< NOT TM ,BUT TMD >'}   
  2. <import file="Img.Logo#gif" type='img' title="{$sAboutDyhbLogoTitle}" />  


程序运行后的编译PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 01:52:51  */ ?>   
  2. <?php $sAboutDyhbLogoTitle='The DoYouHaoBaby Framework Logo | 代码行云流水,开发如此简单< NOT TM ,BUT TMD >' ; ?>   
  3. <img src="/doyouhaobaby/DoYouHaoBaby/LibCom/Img/Logo.gif" title="<?php echo( $sAboutDyhbLogoTitle ); ?>"/>   

如图:

程序运行结果如下:

  1. <img src="/doyouhaobaby/DoYouHaoBaby/LibCom/Img/Logo.gif" title="The DoYouHaoBaby Framework Logo | 代码行云流水,开  
  2.  
  3. 发如此简单< NOT TM ,BUT TMD >"/>  

如图:

分析:也许你会发现图片文件多了一个title属性,我们可以在title属性中为图片指定一个标题,标题支持变量。


3:使用Load导入文件


使用Load标签导入当前网站公用Js或者Css:

  1. <load file="/doyouhaobaby/Public/Css/common.css" />     
  2. <load file="/doyouhaobaby/Public/Js/Common.js" />  


程序运行后的编译PHP 代码为:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:05:20  */ ?>   
  2. <link rel="stylesheet" type="text/css" href="/doyouhaobaby/Public/Css/common.css" />     
  3. <script type="text/javascript" src="/doyouhaobaby/Public/Js/Common.js"></script>  

如图:


程序执行后的结果:

  1. <link rel="stylesheet" type="text/css" href="/doyouhaobaby/Public/Css/common.css" />     
  2. <script type="text/javascript" src="/doyouhaobaby/Public/Js/Common.js"></script>  

如图:


在file属性中可以使用特殊模板标签替换,同时Load标签支持代码语法。Load标签可以无需指定type属性,系统会自动根据后缀来辅

助判断。例如:

  1. <load file="../Public/Js/Common.js" />   
  2. <load file="../Public/Css/common.css" />    
  3. {load ../Public/Js/Common.js}    
  4. {load ../Public/Css/common.css }  


编译后的PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:19:10  */ ?>   
  2. <script type="text/javascript" src="../Public/Js/Common.js"></script>   
  3. <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />    
  4. <script type="text/javascript" src="../Public/Js/Common.js"></script>    
  5. <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />  

如图:


程序运行后的结果为:

  1. <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Js/Common.js"></script>   
  2. <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/common.css" />    
  3. <script type="text/javascript" src="/doyouhaobaby/TestApp/Tpl/Default/Public/Js/Common.js"></script>    
  4. <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一致,例如:

  1. <js file="__PUBLIC__/Js/Common.js" />    
  2. <css file="../Public/Css/common.css" />  

程序编译后的PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:26:20  */ ?>   
  2. <script type="text/javascript" src="__PUBLIC__/Js/Common.js"></script>    
  3. <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />  

如图:


程序运行后的结果如下:

  1. <script type="text/javascript" src="/doyouhaobaby/Public/Js/Common.js"></script>    
  2. <link rel="stylesheet" type="text/css" href="/doyouhaobaby/TestApp/Tpl/Default/Public/Css/common.css" />   

如图:

4:代码标签语法

同时,DoYouHaoBaby 的代码标签支持简单功能的代码,关于代码标签语法,上面的{load }标签就是这种,下面我们将介绍其它几种

代码css和js语法:

导入一个外部的js,或者css文件:

  1. {js __PUBLIC__/Js/Common}   
  2. {css ../Public/Css/common}  


程序编译后的PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:37:48  */ ?>   
  2. <script type="text/javascript" language="javascript" src="__PUBLIC__/Js/Common.js"></script>   
  3. <link rel="stylesheet" type="text/css" href="../Public/Css/common.css" />  

如图:


分析:这种代码方式,不支持node标签的高级方法,代码方式不用添加后缀。


页面嵌入的js或者css代码,例如我们在模版中写下如下的代码:

  1. {style}   
  2. .img{ border:none;}   
  3. {/style}   
  4.   
  5. {script}   
  6. var hello ='test';   
  7. {/script}  


程序运行后的编译PHP 代码如下:

  1. <?php !defined('DYHB_PATH') && exit; /* DoYouHaoBaby Framework 模板缓存文件 生成时间:2002-01-11 02:42:26  */ ?>   
  2. <style type="text/css">   
  3. .img{ border:none;}   
  4. </style>   
  5.   
  6. <script type="text/javascript">   
  7. var hello ='test';   
  8. </script>  

如图:


程序运行结果如下:

  1. <style type="text/css">   
  2. .img{ border:none;}   
  3. </style>   
  4.   
  5. <script type="text/javascript">   
  6. var hello ='test';   
  7. </script>  

如图:


关于导入文件我们就讲解到这里了,虽然看似说得挺复杂,其实我们只是为了详细地为你讲解清楚,然后就是花了很多笔墨来表述。

The DoYouHaoBaby PHP Framework | 代码行云流水,开发如此简单< NOT TM ~ BUT TMD >