skywalking.php 2.9 KB
Newer Older
1
<?php
何延龙 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

namespace Predis\Connection {

    class Parameters {
        protected $parameters;
        public function __construct($parameters) {
            $this->parameters = $parameters;
        }
    }

    abstract class AbstractConnection {
        protected $parameters;

        public function __construct($parameters) {
            $this->parameters = $parameters;
        }
    }
    class StreamConnection extends AbstractConnection {
        public function __construct($parameters) {
            parent::__construct(new Parameters($parameters));
        }
    }
}

namespace Predis\Command {
    interface CommandInterface {
        public function getId();
        public function getArguments();
    }

    class TestCommand implements CommandInterface {
        public $commandID;
        public $arguments;
        public function __construct($commandID, $arguments) {
            $this->commandID = $commandID;
            $this->arguments = $arguments;
        }

        public function getId() {
            return $this->commandID;
        }

        public function getArguments() {
            return $this->arguments;
        }
    }
}

namespace Predis {
    class Client {

        protected $connection;

        public function __construct($parameters = null) {
            $this->connection = new \Predis\Connection\StreamConnection($parameters);
        }

        public function __call($commandID, $arguments) {
            return $this->executeCommand(new \Predis\Command\TestCommand($commandID, $arguments));
        }

        public function executeCommand(\Predis\Command\CommandInterface $command) {

        }
    }
}

namespace Grpc {
    class BaseStub {
        private $hostname;
        private $hostname_override;

        public function __construct($hostname) {
            $this->hostname = $hostname;
        }

        public function _simpleRequest($method) {}
    }

    class HelloClient extends BaseStub {

        public function __construct($hostname) {
            parent::__construct($hostname);
        }

        public function hello() {
            $this->_simpleRequest("user.mock");
        }
    }
}

namespace {
    $client = new \Predis\Client(["host" => "127.0.0.1", "port" => 6379]);
    $client->set('foo', 'bar');
    $client->get('foo');

    // test grpc
    $hello = new \Grpc\HelloClient("127.0.0.1:8888");
    $hello->hello();

    // test pdo
    $dbh = new \PDO("mysql:host=127.0.0.1;port=3306;dbname=mock", "root", "111111");
    $dbh->exec("SET names utf8");
    $dbh->query("select * from mock");
    $dbh->prepare("select * from mock where id = ?");

    $dbh->beginTransaction();
    $dbh->query("select * from mock");
    $dbh->commit();

    // test curl
    // $ch = curl_init("https://api.github.com/repos");
    // curl_setopt($ch, 9923, []);
    // curl_exec($ch);
    // $ch = curl_init("https://api.github.com/repos");
    // curl_exec($ch);
}
119
?>