当前位置:  编程技术>php
本页文章导读:
    ▪php5中$_SERVER变量不再受magic_quotes_gpc保护的替代方法      这里提供一个方法,供大家参考。   代码如下: <?php $magic_quotes_gpc = get_magic_quotes_gpc(); @extract(daddslashes()($_COOKIE)); @extract(daddslashes($_POST)); @extract(daddslashes($_GET)); if(!$magic_quotes_gpc) { $_FILE.........
    ▪从数组中随机抽取一些元素的php代码      从数组中随机抽取一些元素的php代码,供大家学习参考。   代码如下: <?php /** * 随机抽取数组元素 * author: notuser * 2012-12-29 */ class getValues { public function inputValue($inputArray) { $this->inpu.........
    ▪php中实现插件机制的方法介绍      本文介绍的内容是我对插件机制的理解,及其在PHP中的实现,此方案仅是插件机制的实现方法之一,仅供参考。 插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它.........

[1]php5中$_SERVER变量不再受magic_quotes_gpc保护的替代方法
    来源: 互联网  发布时间: 2013-12-24

这里提供一个方法,供大家参考。
 

代码如下:

<?php
$magic_quotes_gpc = get_magic_quotes_gpc();
@extract(daddslashes()($_COOKIE));
@extract(daddslashes($_POST));
@extract(daddslashes($_GET));
if(!$magic_quotes_gpc) {
$_FILES = daddslashes($_FILES);
}

//---daddslashes函数
//转译字符函数
function daddslashes($string) {
if(!is_array($string)) return addslashes($string);
foreach($string as $key => $val) $string[$key] = daddslashes($val);
return $string;
}
?>


    
[2]从数组中随机抽取一些元素的php代码
    来源: 互联网  发布时间: 2013-12-24

从数组中随机抽取一些元素的php代码,供大家学习参考。
 

代码如下:

<?php
/**
* 随机抽取数组元素
* author: notuser
* 2012-12-29
*/
class getValues {
public function inputValue($inputArray) {
$this->inputArray = $inputArray;
}
public function getValue($number) {
$this->number = $number;
for($i = 0; $i < $this->number; $i ++) {
$index = rand ( 0, count ( $this->inputArray ) - 1 - $i );
$getArray [$i] = $this->inputArray [$index];
unset ( $this->inputArray [$index] );
for($k = $index; $k < count ( $this->inputArray ) - 1; $k ++) {
$this->inputArray [$k] = $this->inputArray [$k + 1];
}
}
//asort ( $getArray ); // 从小到大排序,根据需要修改
return $getArray;
}
}

//测试代码
$keywords = array(
"我们",
"你们",
"他们"
);
$getValue=new getValues();
$getValue->inputValue($keywords);
$key = $getValue->getValue(1);//从数组中随机抽取一个元素
echo $key;
?>


    
[3]php中实现插件机制的方法介绍
    来源: 互联网  发布时间: 2013-12-24

本文介绍的内容是我对插件机制的理解,及其在PHP中的实现,此方案仅是插件机制的实现方法之一,仅供参考。

插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它;且无论是激活还是禁用都不影响系统核心模块的运行,也就是说插件是一种非侵入式的模块化设计,实现了核心程序与插件程序的松散耦合。一个典型的例子就是Wordpress中众多的第三方插件,比如Akimet插件用于对用户的评论进行Spam过滤。

一个健壮的插件机制,我认为必须具备以下特点:

插件的动态监听和加载(Lookup)
插件的动态触发

以上两点的实现均不影响核心程序的运行

要在程序中实现插件,我们首先应该想到的就是定义不同的钩子(Hooks);“钩子”是一个很形象的逻辑概念,你可以认为它是系统预留的插件触发条件。它的逻辑原理如下:当系统执行到某个钩子时,会判断这个钩子的条件是否满足;如果满足,会转而先去调用钩子所制定的功能,然后返回继续执行余下的程序;如果不满足,跳过即可。这有点像汇编中的“中断保护”逻辑。

某些钩子可能是系统事先就设计好的,比如之前我举的关于评论Spam过滤的钩子,通常它已经由核心系统开发人员设计进了评论的处理逻辑中;另外一类钩子则可能是由用户自行定制的(由第三方开发人员制定),通常存在于表现层,比如一个普通的PHP表单显示页面中。

请注意理解以下的说明。

下面进行PHP中插件机制的核心实现,整个机制核心分为三大块:

一个插件经理类:这是核心之核心。它是一个应用程序全局Global对象。它主要有三个职责:

负责监听已经注册了的所有插件,并实例化这些插件对象。
负责注册所有插件。
当钩子条件满足时,触发对应的对象方法。

插件的功能实现:这大多由第三方开发人员完成,但需要遵循一定的规则,这个规则是插件机制所规定的,因插件机制的不同而不同,下面的显示代码你会看到这个规则。

插件的触发:也就是钩子的触发条件。具体来说这是一小段代码,放置在你需要插件实现的地方,用于触发这个钩子。


    
最新技术文章:
▪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,