当前位置:  编程技术>php
本页文章导读:
    ▪获取文件的绝对路径包含上一级目录的代码      获取文件的绝对路径:   代码如下: <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:F:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:F:\www\ echo dirname(dirname(__F.........
    ▪学习php的适配器模式      php设计模式之适配器模式,即Adapter(别名Wrapper)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器可以让原本接口不兼容的类合作无间。 这种设计模式的要点: 1)、适配.........
    ▪学习php字符串函数nl2br()      说明:nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)。 语法 nl2br(string)参数 描述 string 必需。规定要检查的字符串。 例子:   代码如下: <?php echo nl2br("One line.\nAn.........

[1]获取文件的绝对路径包含上一级目录的代码
    来源: 互联网  发布时间: 2013-12-24

获取文件的绝对路径:
 

代码如下:
<?php
echo __FILE__ ; // 取得当前文件的绝对地址,结果:F:\www\test.php
echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:F:\www\
echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:F:\
?>

这里顺便提一下php中的另一个函数:chdir()函数。

chdir() 函数
定义和用法
chdir() 函数把当前的目录改变为指定的目录。

若成功,则该函数返回 true,否则返回 false。

语法
chdir(directory)参数 描述
directory 必需。规定新的当前目录。
示例:
 

代码如下:

<?php
//获得当前目录
echo getcwd();
echo "<br />";

//改变为 images 目录
chdir("images");
echo "<br />";
echo getcwd();
?>

输出:
C:\\main
C:\\main\images


    
[2]学习php的适配器模式
    来源: 互联网  发布时间: 2013-12-24

php设计模式之适配器模式,即Adapter(别名Wrapper)模式:将一个类的接口,转换成客户期望的另一个类的接口。适配器可以让原本接口不兼容的类合作无间。

这种设计模式的要点:
1)、适配器模式主要应用于“希望复用一些现存的类,但是接口又与复用环境要求不一致的情况”,在遗留代码复用、类库迁移等方面非常有用。
2)、适配器模式有对象适配器和类适配器两种形式的实现结构,但是类适配器采用“多继承”的实现方式,带来了不良的高耦合,所以一般不推荐使用。
对象适配器采用“对象组合”的方式,更符合松耦合精神。

我们通过以下两个图片来看下其结构:

类的适配器模式结构图(继承)


对象的适配器模式结构图(组合)

(对象适配器的代码实现)

Target:定义Client使用的与特定领域相关的接口
public interface Target { void request();}

Adaptee:现在需要适配的已经存在的接口
public class Adaptee{ public void specificRequest(){}}

Adapter:对Adaptee 的接口与Target接口进行适配
public class Adapter implements Target{ public Adapter(Adaptee adaptee) { super(); this.adaptee = adaptee; } public void request() { adaptee.specificRequest(); } private Adaptee adaptee;}

适用性:
1)、系统需要使用现有的类,而此类的接口不符合系统的需要。
2)、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。这些源类不一定有很复杂的接口。
3)、(对对象适配器而言)在设计里,需要改变多个已有子类的接口,如果使用类的适配器模式,就要针对每一个子类做一个适配器,而这不太实际。

再来看这个设计模式的优缺点:

类适配器:
1)、用一个具体的Adapter类对Adaptee和Taget进行匹配。结果是当我们想要匹配一个类以及所有它的子类时,类Adapter将不能胜任工作。
2)、使得Adapter可以override(重定义) Adaptee的部分行为,因为Adapter是Adaptee的一个子类。

对象适配器:
1)、允许一个Adapter与多个Adaptee,即Adaptee本身以及它的所有子类(如果有子类的话)同时工作。Adapter也可以一次给所有的Adaptee添加功能。
2)、使得override(重定义)Adaptee的行为比较困难。如果一定要override Adaptee的方法,就只好先做一个Adaptee的子类以override Adaptee的方法,然后再把这个子类当作真正的Adaptee源进行适配。


    
[3]学习php字符串函数nl2br()
    来源: 互联网  发布时间: 2013-12-24

说明:nl2br() 函数在字符串中的每个新行 (\n) 之前插入 HTML 换行符 (<br />)。

语法
nl2br(string)参数 描述
string 必需。规定要检查的字符串。

例子:
 

代码如下:
<?php
echo nl2br("One line.\nAnother line.");
?>

输出:
One line.
Another line.HTML 代码:

One line.<br />
Another line.


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,