易截截图软件、单文件、免安装、纯绿色、仅160KB

php实现网站插件机制的方法

这些天想作一个在网站中实现插件的功能,谷歌了一下,发现一篇文章感觉对我帮助很大,帖出来和大家分享,废话不多说,直接帖出代码供大家分析:
首先是插件的管理类的实现:
<?
/**
* STBLOG PluginManager Class
*
* 插件机制的实现核心类
*
* @package STBLOG
* @subpackage Libraries
* @category Libraries
* @author Saturn
* @link http://www.cnsaturn.com/
*/
class PluginManager
{
/**
* 监听已注册的插件
*
* @access private
* @var array
*/
private $_listeners = array();
/**
* 构造函数
*
* @access public
* @return void
*/
public function __construct()
{
#这里$plugin数组包含我们获取已经由用户激活的插件信息
#为演示方便,我们假定$plugin中至少包含
#$plugin = array(
# 'name' => '插件名称',
# 'directory'=>'插件安装目录'
#);
$plugins = get_active_plugins();#这个函数请自行实现
if($plugins)
{
foreach($plugins as $plugin)
{//假定每个插件文件夹中包含一个actions.php文件,它是插件的具体实现
if (@file_exists(STPATH .'plugins/'.$plugin['directory'].'/actions.php'))
{
include_once(STPATH .'plugins/'.$plugin['directory'].'/actions.php');
$class = $plugin['name'].'_actions';
if (class_exists($class))
{
//初始化所有插件
new $class($this);
}
}
}
}
#此处做些日志记录方面的东西
}

/**
* 注册需要监听的插件方法(钩子)
*
* @param string $hook
* @param object $reference
* @param string $method
*/
function register($hook, &$reference, $method)
{
//获取插件要实现的方法
$key = get_class($reference).'-&


相关文档:

PHP缓存技术:memcache函数详解之二

memcache::debug
bool memcache_debug ( bool $on_off )
 
说明:
控制调试功能,前提是php在编译的时候使用了-enable-debug选项,否则这个函数不会有作用。
参数:
$on_off:true表示开启调试,false表示关闭调试
返回值:
如果php在编译的时候使用了-enable-debug选项,返回true,否则返回false
Memcache:: ......

Yii PHP Framework实用入门教程(转)

 作者:http://blog.csdn.net/zhoufoxcn/archive/2009/11/05/4769858.aspx
说明:因为最近工作工作关系,需要开发一个在Linux下运行的Web
Application,需要对现在比较流行的一些PHP框架做一个了解和评估,下面的这篇文章是笔者最近学习一个比较新的PHP
Framework的一点经历和操作步骤,因为官方的手册写得比较晦 ......

PHP程序员最易犯10种错误(转)

PHP程序员最易犯10种错误(转)
php   2008-07-11 23:45   阅读5   评论0  
字号: 大大  中中  小小
PHP是个伟大的web开发语言,灵活的语言,但是看到php程序员周而复始的犯的一些错误。我做了下面这个列表,列出了PHP程序员经常犯的10中错误,大多数和安全相关。看 ......

PHP 批量删除数据的方法

 HTML代码
<form action="" method="post">
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="2"/>
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="3"/>
<input name="ID_D ......

php 访问控制

 <?php
// An array of allowed users and their passwords
$users = array(
'harryf' => 'secret',
'tom' => 'mypwd'
);
// If there's no Authentication header, exit
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('HTTP/1.1 401 Unauthorized');
header('WWW-Authenticate: Basic real ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号