接着上篇文章继续代码的讲解,上次的代码中引入了require.php,这个玩意是干啥的呢,今天我们就来说下
站在用户的角度思考问题,与客户深入沟通,找到龙山网站设计与龙山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖龙山地区。
require.php内容如下
//所需要的所有引入文件都放这里,方便统一管理,以后的php文件里只需要引入这一个就ok了
//请求相关
require_once("../commons/transfer.php");
//读取配置文件相关
require_once("../src/read_config.php");
//测试用例类相关
require_once("../testcases/lhl_test.php");
?>
这个不是必须的,你也可以选择在需要的地方引入需要的文件,我们这里之所以抽离成为一个就是为了方便维护,以后万一有变动只需维护这一个php文件即可,其余的都不需要去关心的。
transfer.php内容如下,主要就是把get和post请求封装为class,以后有其他的方法你也可以在此封装。具体的内容在之前的文章中已经讲解过,此处不再重复。
class Transfer
{
public static function get($url, $extraheader = array())
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 获取数据返回
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
public static function post($url, $post_params, $extraheader = array())
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params );
curl_setopt($ch, CURLOPT_HTTPHEADER, $extraheader);
//如果是https的,可能需要加上下面的两行
#curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
#curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 获取数据返回
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
}
?>
read_config.php内容如下,主要是完成读取host配置文件,这个也是可选的,你也可以写在代码里,我们提取出来主要是为了方便,比如你在测试环境用的一个host,到了线上是另外一个host,那么我们只需要维护对应的文件即可。
class ReadConfig
{
var $doc;
public function __construct()
{
//load配置文件
$this->doc=new DOMDocument();
$this->doc->load("../src/config.xml");
}
public function get_host($type)
{
//读取配置文件,选择host
foreach($this->doc->getElementsByTagName("host") as $item)
{
$list = $item->getElementsByTagName( $type );
foreach ( $list as $list1 )
{
$value = $list1->nodeValue;
break;
}
}
return $value;
}
}
?>
读取的host文件为xml格式,内容如下
http://v.juhe.cn/laohuangli/d
http://127.0.0.1
资料获取
后续涉及到的代码可以通过如下方式获取(代码会逐步发放,不要着急):点击链接加入群 522720170(共享里有):https://jq.qq.com/?_wv=1027&k=5C08ATe