仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1077|回复: 19
打印 上一主题 下一主题

[学习教程] PHP网站制作之巨好用的 xmlrpc-epi PHP 封装类 (1)

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:10:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不过还好,PHP语言给出的语法错误很详细,只要稍微熟悉一点之后,看错误提示就能很容易找出错误所在的。PHP还有一个特别好用的调试功能,在PHP语句中,你可以随时用echo来输出结果。xml|封装   在 PHP 中自己带有一个用 C 言语完成的 xmlrpc 扩大,叫 xmlrpc-epi。由于它是用 C 言语完成的,所以赶快度下去说比用 PHP 完成的那些 xmlrpc 扩大要快的多。然而在实践使用中却发明很少有人用这个扩大,大都是用 PHP 剧本完成的 xmlrpc 的扩大。缘由能够有以下两点:一是这个扩大需求在办事器上翻开,假如没有办事器操作权限,利用这个扩大就不实际了。第二个缘由就是这个扩大在 PHP 手册中的申明太少了,并且供应的函数都很基本,要利用的话就很费事了。针对第二个成绩,我对这个扩大停止了封装,将它封装成了3个类:xmlrpc_error、xmlrpc_client 和 xmlrpc_server。固然最次要的是后两个类,即 xmlrpc_client 和 xmlrpc_server。这两个类大大简化了创立 xmlrpc 客户端和办事器的步调。
人人可以经由过程上面的实例来看一下如今创立 xmlrpc 办事器和客户真个步调有何等复杂。
办事器端代码
下载: server.php
<?php
require_once('class_xmlrpc.php');
  
function Add($method, $params) {
    return $params[0] + $params[1];
}
function Sub($method, $params) {
    return $params[0] - $params[1];
}
function Mul($method, $params) {
    return $params[0] * $params[1];
}
function Div($method, $params) {
    return $params[0] / $params[1];
}
  
$xmlrpc_server = new xmlrpc_server();
$xmlrpc_server->register_method("Math.add", "Add");
$xmlrpc_server->register_method("Math.sub", "Sub");
$xmlrpc_server->register_method("Math.Mul", "Mul");
$xmlrpc_server->register_method("Math.Div", "Div");
$xmlrpc_server->call_method();
?>
客户端代码
下载: client.php
<?php
require_once('class_xmlrpc.php');
  
$xmlrpc_client = new xmlrpc_client('server.php', 'Math');
$a = 100;
$b = 20;
echo "\$a = $a; \$b = $b <br />";
echo '$a + $b = ' . $xmlrpc_client->add($a, $b) . '<br />';
echo '$a - $b = ' . $xmlrpc_client->sub($a, $b) . '<br />';
echo '$a * $b = ' . $xmlrpc_client->call('Mul', $a, $b) . '<br />';
echo '$a / $b = ' . $xmlrpc_client->invoke('Math.Div', $a, $b) . '<br />';
?>
固然下面的代码很复杂,然而仍是有两点需求注重的中央的。

第一,xmlrpc 的办法是撑持名空间(namespace)的,为了简化挪用――省略办法后面的名空间,咱们在初始化 $xmlrpc_client 时,给出了一个名空间的参数“Math”,如许上面经由过程办法名直接挪用或经由过程call来挪用办法时,就能够省略名空间前缀了。假如想要改动名空间,只需给 $xmlrpc_client->namespace 赋值就能够了。假如只是一时改动,也能够经由过程 invoke 办法来用全名(即带着名空间的办法名)来挪用。
第二,xmlrpc 和 PHP5 的办法是辨别巨细写的,而 PHP4 的办法是不辨别巨细写的,并且在 PHP4 中,一切的函数或办法名都是贮存为小写,因而不管是 add 也好,Sub 也好,最初它们所挪用的办法都是小写的。所以 PHP5 中可以直接挪用界说中有大写字母的办法,而 PHP4 中却不克不及。也就是说,假如想要在 PHP4 中直接经由过程办法名来会见 xmlrpc 办法的话,那末必需包管 xmlrpc 的办法名在界说时是小写的,不然就会发生找不到响应办法的毛病。假如要在 PHP4 中挪用在界说时就有大写字母的 xmlrpc 办法该怎样办呢?其实很复杂,用 call 办法挪用就能够了,第一个参数就是要挪用的办法名的字符串,这个字符串是可以辨别巨细写的。也能够用 invoke 办法来挪用,分歧的中央就是假如着名空间的话,需求明白的写出来。

说说这一个月左右的学习情况和心得吧!我个人认为,既然决定了去做一件事,那就要以认真的态度去对待!既然决定来学习了,那不管当初是抱着怎样的心态来到这个培训班的,都要让自己认真的投入到学习中。
蒙在股里 该用户已被删除
沙发
发表于 2015-2-4 09:48:48 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
活着的死人 该用户已被删除
板凳
发表于 2015-2-5 02:00:17 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
老尸 该用户已被删除
地板
发表于 2015-2-5 16:59:25 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
再见西城 该用户已被删除
5#
发表于 2015-2-7 03:45:37 | 只看该作者
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
admin 该用户已被删除
6#
发表于 2015-2-9 07:54:23 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
因胸联盟 该用户已被删除
7#
发表于 2015-2-10 02:34:07 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
飘飘悠悠 该用户已被删除
8#
发表于 2015-2-11 09:01:36 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
第二个灵魂 该用户已被删除
9#
发表于 2015-3-2 07:50:42 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
10#
发表于 2015-3-6 16:09:14 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
分手快乐 该用户已被删除
11#
发表于 2015-3-11 04:00:03 | 只看该作者
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
金色的骷髅 该用户已被删除
12#
发表于 2015-3-17 16:41:28 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
谁可相欹 该用户已被删除
13#
发表于 2015-3-24 12:07:31 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
不帅 该用户已被删除
14#
发表于 2015-3-26 12:05:35 | 只看该作者
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
简单生活 该用户已被删除
15#
发表于 2015-4-6 04:09:31 | 只看该作者
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
变相怪杰 该用户已被删除
16#
发表于 2015-4-11 13:35:18 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
飘灵儿 该用户已被删除
17#
发表于 2015-4-16 19:09:15 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
山那边是海 该用户已被删除
18#
发表于 2015-4-16 23:11:33 | 只看该作者
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
小女巫 该用户已被删除
19#
发表于 2015-4-25 11:37:10 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
莫相离 该用户已被删除
20#
发表于 2015-6-25 21:18:10 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 01:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表