易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : php

PHP中插件机制的一种实现方案

PHP中插件机制的一种实现方案
这篇文章的出发点是由于一朋友问我是否会插件,以及对插件机制是否理解,及其在PHP中的实现。我当时认为不就是一个功能的实现么,呵呵。想法很简单,在网上查了一下,才知道原来不是那么简单的一回事,在网上摘录了一个方法,此方案仅是插件机制在PHP中的实现方案之一,摘录下来和大家分享,欢迎大家一起讨论。
插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它;且无论是激活还是禁用都不影响系统核心模块的运行,也就是说插件是一种非侵入式的模块化设计,实现了核心程序与插件程序的松散耦合。一个典型的例子就是Wordpress中众多的第三方插件,比如Akimet插件用于对用户的评论进行Spam过滤。

一个健壮的插件机制,我认为必须具备以下特点:
插件的动态监听和加载(Lookup)
插件的动态触发
以上两点的实现均不影响核心程序的运行
要在程序中实现插件,我们首先应该想到的就是定义不同的钩子(Hooks);“钩子”是一个很形象的逻辑概念,你可以认为它是系统预留的插件触发条件。它的逻辑原理如下:当系统执行到 ......

php处理xpath

  1 <?php
  2 $doc = new DOMDocument('1.0', 'utf-8');
  3 $doc->load('./articles.xml');
  4 
  5 $xpath = new DOMXPath($doc);
  6 /*
  7  * $xpath = domxml_open_file("articles.xml");
  8  */
  9 $arts = $xpath->query("/articles/article/title");
 10 
 11 foreach ($arts as $art)
 12 {
 13     echo $art->nodeValue." ";
 14 }
 15 ?>
其中,articles.xml的内容如下:
  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <articles>
  3     <article id="1">
  4         <tags>
  5             <tag>php</tag>
  6             <tag>xpath</tag>
  7         </tags>
  8     &n ......

PHP和MYSQL的编码问题

1 MYSQL中的字符集概念
  Mysql的字符集里有两个概念,一个是"Character set(字符集)",另一个是"Collations"。
1.1 Collations
  Collations翻成中文是"校验",在网页开发的过程中,这个词汇,只在Mysql里使用,主要作用是指导Mysql对字符的比较,比如, ASCII字符集里,Collations规定了a小于b,a等于a,以及a是否等于A之类的。通常,大家基本可以忽略Collations的存在,因为每个字符集都有一个默认的Collations,通常,使用默认的Collations就可以了。
1.2 Character set
  与这对比的是,字符集是个更广的概念,即使是Windows下普通的文本文件,也渗及到字符集的问题。不同的字符集,规定了不同的字符的编码方式。一个 character set (字符集)是一组符号和编码,比如,ASCII字符集,包括的字符有:数字,大小写字母,分号、换行之类的符号,编码方式是用一个7bit表示一个字符(A的编码是65,b的编码是98)。ASCII只规定了英文字母的编码,非英文语言不能用ASCII编码表示,为此,不同的国家,都为自己的语言做了编码,比如,我们国家,就有GB2312编码。但每个国家之间的编码不同,也存在着一些跨平台的问题,为此,一 ......

PHP和MYSQL的编码问题

1 MYSQL中的字符集概念
  Mysql的字符集里有两个概念,一个是"Character set(字符集)",另一个是"Collations"。
1.1 Collations
  Collations翻成中文是"校验",在网页开发的过程中,这个词汇,只在Mysql里使用,主要作用是指导Mysql对字符的比较,比如, ASCII字符集里,Collations规定了a小于b,a等于a,以及a是否等于A之类的。通常,大家基本可以忽略Collations的存在,因为每个字符集都有一个默认的Collations,通常,使用默认的Collations就可以了。
1.2 Character set
  与这对比的是,字符集是个更广的概念,即使是Windows下普通的文本文件,也渗及到字符集的问题。不同的字符集,规定了不同的字符的编码方式。一个 character set (字符集)是一组符号和编码,比如,ASCII字符集,包括的字符有:数字,大小写字母,分号、换行之类的符号,编码方式是用一个7bit表示一个字符(A的编码是65,b的编码是98)。ASCII只规定了英文字母的编码,非英文语言不能用ASCII编码表示,为此,不同的国家,都为自己的语言做了编码,比如,我们国家,就有GB2312编码。但每个国家之间的编码不同,也存在着一些跨平台的问题,为此,一 ......

php程序员面试题(一)


1. 用PHP打印出前一天的时间,打印格式是2007年5月10日 22:21:21
2. PHP代码如下:
$a="hello"; 
$b=&$a;
unset($b);
$b="world"; 
echo $a;
其结果是?
3. PHP代码如下:
$str="cd"; 
  $$str="landog";  
$$str.="ok";
echo $cd;
其结果是? 
4. 用PHP写一段代码,实现不使用第3个变量,交换$a、$b的值,$a、$b的初始值自己定。
5. 根据题目要求,用PHP写出代码。
表名User 
ID  Name   Tel         Content   Date 
1   张三 13333663366  大专毕业  2006-10-11
3   张三 13612312331  本科毕业  2006-10-15
5   张四 020-5566556  中专毕业  2006-10-15
4   王五 13521212125  大专毕业   2006-12-25
2   …………
6  &nbs ......

php中的引用

PHP中引用指的是不同的名字访问同一个变量内容. 但这与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存放的地址。
关于对变量,函数或者类的引用不多说,但要说一下unset一个引用,示例:
<?php
$a = "hello";
$b =&$a;
unset($b);
echo '$a:'.$a;
//output:$a:hello
?>
//不会 unset $a,只是 $b。
global 引用:
当用 global $var 声明一个变量时实际上建立了一个到全局变量的引用。也就是说和这样做是相同的。
$this
在一个对象的方法中,$this 永远是调用它的对象的引用。 ......

Fedora 8下用Yum安装Apache+PHP+MySQL环境


fedora8 用yum来管理安装Apache+PHP+Mysql的基本安装。
1. 安装Apahce, PHP, Mysql, 以及php连接mysql库组件。
yum -y install httpd php mysql mysql-server php-mysql
2. 配置开机启动服务
/sbin/chkconfig httpd on             [设置apache服务器httpd服务开机启动]
/sbin/chkconfig --add mysqld         [在服务清单中添加mysql服务]
/sbin/chkconfig mysqld on             [设置mysql服务开机启动]
/sbin/service httpd start            [启动httpd服务,与开机启动无关]
/sbin/service mysqld start           [启动mysql服务,与开机无关]
3.设置mysql数据库root帐号密码。
mysqladmin -u root password 'newpassword'           [引号内填密码]
4. 让mysql数据库更安全
mysql -u root -p
mysql> DROP DATABASE test;                 ......

Fedora 8下用Yum安装Apache+PHP+MySQL环境


fedora8 用yum来管理安装Apache+PHP+Mysql的基本安装。
1. 安装Apahce, PHP, Mysql, 以及php连接mysql库组件。
yum -y install httpd php mysql mysql-server php-mysql
2. 配置开机启动服务
/sbin/chkconfig httpd on             [设置apache服务器httpd服务开机启动]
/sbin/chkconfig --add mysqld         [在服务清单中添加mysql服务]
/sbin/chkconfig mysqld on             [设置mysql服务开机启动]
/sbin/service httpd start            [启动httpd服务,与开机启动无关]
/sbin/service mysqld start           [启动mysql服务,与开机无关]
3.设置mysql数据库root帐号密码。
mysqladmin -u root password 'newpassword'           [引号内填密码]
4. 让mysql数据库更安全
mysql -u root -p
mysql> DROP DATABASE test;                 ......
总记录数:2174; 总页数:363; 每页6 条; 首页 上一页 [123] [124] [125] [126] 127 [128] [129] [130] [131] [132]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号