分享~ curl类

平常总是说面向对象面向对象,但常常是在写一些过程化代码,2333;
这是我们的老师改进后,分享给我们的curl类,赞

<?php


namespace App\Services;


class CurlService
{
    const GET = 0;
    const POST = 1;
    public $url;
    public $ch = null;
    private $type = 1;

    public function __construct() {

    }
    public function init( $url , $type = self::POST)
    {
        $this->url = $url;
        $this->ch = curl_init();
        $this->type = $type;
        return $this;
    }

    //post 方式传递数据
    public function send($param)
    {
        if( self::POST == $this->type) {
            return $this->posts($param);
        } else {
            return $this->gets($param);
        }
    }

    public function posts($post_data)
    {
        curl_setopt( $this->ch, CURLOPT_URL, $this->url );
        curl_setopt( $this->ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $this->ch, CURLOPT_HEADER, 0 );
        curl_setopt($this->ch, CURLOPT_POST, 1);
        curl_setopt($this->ch, CURLOPT_POSTFIELDS, $post_data);
        $output = curl_exec( $this->ch );
        return $output;
    }

    public function gets($get_data)
    {
        $url = $this->url.'?'.http_build_query($get_data);
        curl_setopt( $this->ch, CURLOPT_URL, $url );
        curl_setopt( $this->ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $this->ch, CURLOPT_HEADER, 0 );
        $output = curl_exec( $this->ch );
        return $output;
    }

}

//例子
$url = new CurlService();
//get
$curl->init('www.baidu.com'0)->send();
//post
$curl->init('www.baicu.com')->send('wd=1234');


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值