执行phpize生成编译文件,phpize在PHP安装目录的bin目录下
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and
the $PHP_AUTOCONF
environment variable is set correctly and then rerun this
script.,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install
autoconf(Ubuntu Linux)
/usr/local/php5/bin/php -v
执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,汪坦数
这里会报错,可以根据错误信息去排查!
API,是应用程序接口的英文缩写。通常API就是一些具体的函数。比如一个自定义函数:function test(){
echo ‘hello world’
}
就可以叫做api。
api既可以是单个的函数,也可以是封装在类里的方法,当然它们也是程序代码。
开发一个api的流程可以很简单,也可以很复杂,视具体的编程任务而决定,并没有特定的规则。
比如,你需要为自己建立一个常用的函数库,命名为my.lib.php
然后把你自己编写的自定义函数,全部写在这个文件里面,那么,你就拥有了自己的api。开发的时候,只需要引入my.lib.php,你就可以调用自己的api了。这是一个比较简单的例子。
稍微复杂一点的,你可以把函数封装在类里面,方便继承和重弯明带用,还可以根据函数名称做一些程序设计,这个一句话说不埋芦清楚,槐团给一个简单的例子吧:
class mylib{
function showmy(){
echo ‘这是我的一个类方法’
}
}
调用的时候,先要实例化类,然后再调用方法。
你看看这段代码 ,如果想写Ucenter接口很方便<?php
/**
* api控制器基类
*/
class ApiApp extends ECBaseApp
{
function _init_visitor()
{
$this->visitor =&env('visitor', new ApiVisitor())
}
/**
* 执行登陆 *** 作
* 这个函数要跟 frontend.base.php 中的 _do_login 保持一致
*/
function _do_login($user_id)
{
$mod_user =&m('member')
$user_info = $mod_user->get(array(
'conditions'=>"user_id = '{$user_id}'",
'join' =>'has_store',
'fields'=>'user_id, user_name, reg_time, last_login, last_ip, store_id'租蔽迅,
))
/* 店铺ID */
$my_store = empty($user_info['store_id']) ? 0 : $user_info['store_id']
/* 保证基础数据整洁 */
unset($user_info['store_id'])
/* 分派身份 */
$this->visitor->assign($user_info)
/并橘* 更新用户登录信息 */
$mod_user->弊此edit("user_id = '{$user_id}'", "last_login = '" . gmtime() . "', last_ip = '" . real_ip() . "', logins = logins + 1")
/* 更新购物车中的数据 */
$mod_cart =&m('cart')
$mod_cart->edit("(user_id = '{$user_id}' OR session_id = '" . SESS_ID . "') AND store_id <>'{$my_store}'", array(
'user_id'=>$user_id,
'session_id' =>SESS_ID,
))
}
/**
* 执行退出 *** 作
*/
function _do_logout()
{
$this->visitor->logout()
}
}
/**
*api访问者
*/
class ApiVisitor extends BaseVisitor
{
var $_info_key = 'user_info'
}
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)