重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
PHP 接口
在虎丘等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站建设、做网站 网站设计制作按需网站设计,公司网站建设,企业网站建设,品牌网站制作,成都全网营销推广,成都外贸网站建设,虎丘网站建设费用合理。
接口
使用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。
我们可以通过interface来定义一个接口,就像定义一个标准的类一样,但其中定义所有的方法都是空的。
接口中定义的所有方法都必须是public,这是接口的特性。
实现
要实现一个接口,可以使用implements操作符。类中必须实现接口中定义的所有方法,否则 会报一个fatal错误。如果要实现多个接口,可以用逗号来分隔多个接口的名称。
Note:
实现多个接口时,接口中的方法不能有重名。
Note:
接口也可以继承,通过使用extends操作符。
常量
接口中也可以定义常量。接口常量和类常量的使用完全相同。 它们都是定值,不能被子类或子接口修改。
范例
Example #1 接口代码示例
?php
// 声明一个'iTemplate'接口
interface iTemplate
{
public function setVariable($name, $var);
public function getHtml($template);
}
// 实现接口
// 下面的写法是正确的
class Template implements iTemplate
{
private $vars = array();
public function setVariable($name, $var)
{
$this-vars[$name] = $var;
}
public function getHtml($template)
{
foreach($this-vars as $name = $value) {
$template = str_replace('{' . $name . '}', $value, $template);
}
return $template;
}
}
// 下面的写法是错误的,会报错:
// Fatal error: Class BadTemplate contains 1 abstract methods
// and must therefore be declared abstract (iTemplate::getHtml)
class BadTemplate implements iTemplate
{
private $vars = array();
public function setVariable($name, $var)
{
$this-vars[$name] = $var;
}
}
?
Example #2 Extendable Interfaces
?php
interface a
{
public function foo();
}
interface b extends a
{
public function baz(Baz $baz);
}
// 正确写法
class c implements b
{
public function foo()
{
}
public function baz(Baz $baz)
{
}
}
// 错误写法会导致一个fatal error
class d implements b
{
public function foo()
{
}
public function baz(Foo $foo)
{
}
}
?
Example #3 多个接口间的继承
?php
interface a
{
public function foo();
}
interface b
{
public function bar();
}
interface c extends a, b
{
public function baz();
}
class d implements c
{
public function foo()
{
}
public function bar()
{
}
public function baz()
{
}
}
?
Example #4 使用接口常量
?php
interface a
{
const b = 'Interface constant';
}
// 输出接口常量
echo a::b;
// 错误写法,因为常量的值不能被修改。接口常量的概念和类常量是一样的。
class b implements a
{
const b = 'Class constant';
}
?
你也可以看看instanceof关键字的文档。
能咋写比如
index.php?id=XXXXXpid=XXXXXaic=XXXXX
文档里写 ID 是干什么的
PID干什么的
aic干什么的
返回值
titile 是什么一iszhileide
一、phpxref↑
PHPXref是一个易用级的PHP项目文档生成工具,它生成Html的文档—-结构清晰、明了。PHPXref可以方便的在不同平台下(Linux with Perl,Win32 with EXE)帮助你生成某一目录下所有php文件的“资源”索引文档。这些“资源”,包括:Class(类)、Function(函数)、Variable(变量)、Constant(常量)…..。PHPXref给我们列出了这些资源的定义与引用的详细情况。我们可以很方便地找到某一个函数(变量)在何处被定义,在何处被调用(引用)。 这里以Wordpress为例,它能Wordpress中所有的函数、变量、常量等分类记录,生成一个HTML网页列表,你可以轻松地在这个列表中找到某个函数在什么位置被定义,在什么位置被引用。如果你是Wordpress插件开发者或者想学习研究Wordpress的人,项目文档的作用比较明显。 PHPXref官方有个已经制作好的Wordpress的分析文档:,此外,PHPXref还制作了多种PHP程序的分析文档,有兴趣的可以Google站内搜索一下。 PHPXref的主要功能包括:
文件管理。无论要找什么文件,用它能很快地搜索到,如果你的文件中有符合语法规则的注释,PHPXref还能将它列在文件名的旁边,更容易了解这个文件的功能用途,也不用为了找一个文件翻遍整个文件夹,打开每个文件查找注释了。
函数、变量、常量、类管理。Wordpress内置了多种功能强大的函数、类,无论是字符处理还是远程URL读取等都有现成的函数,但我们往往 不知道这个函数能在Wordpress里面找到,现在容易多了,搜索一下就找到了,如果在开发过程中遇到某个Wordpress函数,不知道它是干什么用 的,这时候就得找到这个函数在哪里定义的,可是Wordpress里面上百个文件上哪找去?还是用PHPXref好了。
文件包含管理。Wordpress中需要很多 include,require包含别的文件,但偶尔也会遇到重复包含导致出错,虽然require_once可以解决,但我们也最好要了解某个脚本包含 了哪些文件,要调用这个文件时也心中有数。PHPXref提供了每个文件的包含文件列表和被包含的文件。
源代码高亮。这个功能也是比较实用的,但在实际测试中偶尔会出错。
出色的关联功能。在浏览源代码时,将鼠标指到某个函数名,就会在鼠标旁边出现函数的定义页面,以及被使用次数,此外,还对使用较多的变量名,也是可以直接有个页面显示所有的关于这个变量的使用情况。
简介下windows下其使用过程:
1、下载:官方网站:phpxref官方sf网站
2、使用(以下载windows版本为例):通过以上下载你将得phpxref-0.7-win32.zip压缩包。
步骤一:解压phpxref-0.7-win32.zip。进入phpxref-0.7-win32(注:不用安装的,所以你不用习惯性的去点击.exe可执行文件),你将看一个名为:source的目录—它很关键;
步骤二:复制你的项目文件到上面提到的source目录。
步骤三:双击phpxref.exe;
步骤四:如果项目比较大,请耐心等待数秒钟。
步骤五:进入和source目录同级的output目录,你将看到一些东西。呵呵,双击index.html开始观看你的项目文档,去尝试吧,它能告诉你的很多哦。
PHPXref还提供了在Linux下生成文档的版本,但我很少用,也没有去测试了,我想更多数人需要的还是Win系统下的,如果有需要,把Win下生成的文档可以搬到服务器上去供大家访问。但PHPxref生成的文档实在太大了,一个1.2MB的Wordpress(压缩包),解压后再生成文档,居然要80多 MB的位置!压缩完后也需要接近20MB。 除了用PHPXref来生成已有的Wordpress或其他PHP示范程序(如Discuz)进行学习外,用PHPXref来生成自己制作的PHP 程序,进行检验错误或者是整理代码资源也很有用
二、PHP Doctor↑
安装php支持(若你有php环境支持,可以略去),设置环境变量path,把php 的安装路径加上,比如php 安装在d:/php5/
下载phpdoctor,可以去官网下载把下载的压缩包解压到任何地方
配置phpdoctor, phpdoctor 最基本的配置,复制一个ini文件进行就该就好
//源码路径,比如您的源码路径d:work/phptest,如下设置
source_path=“d:work/phptest”
//生成的html 文档保存路径,默认是保存在当前目录下apidocs(系统自动创建),可以更改为其他目录,比如
d = "apidocs"或 d = "d:work/doc"
生成文档
打开你的cmd,先切换到你的phpdoctor 安装路径,然后执行下面代码
php phpdoc.php config_file
微信接口举例:
获取关注者信息接口
1、接口使用说明
//获取用户基本信息
public function get_user_info($openid){
$url = "
$this-access_token."openid=".$openid."lang=zh_CN";
$res = $this-https_request($url);
return json_decode($res, true);
}
接口调用请求说明
http请求方式: GET
2、使用https_request,GET方式
//https请求(支持GET和POST)
protected function https_request($url, $data = null){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}
3、正常情况下,微信会返回下述JSON数据包给公众号:
{
"subscribe": 1,
"openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
"nickname": "Band",
"sex": 1,
"language": "zh_CN",
"city": "广州",
"province": "广东",
"country": "中国",
"headimgurl": "
,
"subscribe_time": 1382694957,
"unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
"remark": "",
"groupid": 0
}
4、json_decode解析JSON获取,接口信息
5、打印接口返回信息
$data = $this-get_user_info('openid');
print_r($data);
所有接口使用类似,主要就是curl发送GET或POST请求,返回接口获取信息。
微信公众号接口是目前移动WEB开发,用的比较多的、文档也较齐全;有许多公司、开发人员都在使用的接口之一;接口使用度比较广、用户人数众多、比较稳定。由于你没有具体指出是什么接口。用微信接口举例,可以让更多的人可以理解。
具体接口详情(微信公众号开发者文档) 获取用户基本信息接口