本文整理汇总了PHP中ZPHP\Core\Config::getField方法的典型用法代码示例。如果您正苦于以下问题:PHP Config::getField方法的具体用法?PHP Config::getField怎么用?PHP Config::getField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZPHP\Core\Config
的用法示例。
在下文中一共展示了Config::getField方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parse
/**
* 直接 parse $_REQUEST
* @param $_data
* @return bool
*/
public function parse($data)
{
$ctrlName = Config::getField('project', 'default_ctrl_name', 'main\\main');
$methodName = Config::getField('project', 'default_method_name', 'main');
$apn = Config::getField('project', 'ctrl_name', 'a');
$mpn = Config::getField('project', 'method_name', 'm');
if (isset($data[$apn])) {
$ctrlName = \str_replace('/', '\\', $data[$apn]);
}
if (isset($data[$mpn])) {
$methodName = $data[$mpn];
}
if (!empty($_SERVER['PATH_INFO'])) {
//swoole_http模式 需要在onRequest里,设置一下 $_SERVER['PATH_INFO'] = $request->server['path_info']
$routeMap = ZRoute::match(Config::get('route', false), $_SERVER['PATH_INFO']);
if (is_array($routeMap)) {
$ctrlName = \str_replace('/', '\\', $routeMap[0]);
$methodName = $routeMap[1];
if (!empty($routeMap[2]) && is_array($routeMap[2])) {
//参数优先
$data = $data + $routeMap[2];
}
}
}
Request::init($ctrlName, $methodName, $data, Config::getField('project', 'view_mode', 'Php'));
return true;
}
示例2: route
public static function route()
{
$action = Config::get('ctrl_path', 'ctrl') . '\\' . Request::getCtrl();
$view = null;
try {
$class = Factory::getInstance($action);
if (!$class instanceof IController) {
throw new \Exception("ctrl error");
} else {
$class->_before();
$method = Request::getMethod();
if (!method_exists($class, $method)) {
throw new \Exception("method error");
}
$view = $class->{$method}();
$class->_after();
if (null === $view) {
return null;
}
return Response::display($view);
}
} catch (\Exception $e) {
if (Request::isLongServer()) {
return \call_user_func(Config::getField('project', 'exception_handler', 'ZPHP\\ZPHP::exceptionHandler'), $e);
}
throw $e;
}
}
示例3: display
public function display($model)
{
($viewMode = $this->_view_mode) || ($viewMode = Config::getField('project', 'view_mode', ''));
if (is_array($model) && !empty($model['_view_mode'])) {
$viewMode = $model['_view_mode'];
unset($model['_view_mode']);
}
$this->_view_mode = '';
if (empty($viewMode)) {
if (ZUtils::isAjax()) {
$viewMode = 'Json';
} else {
$viewMode = 'Php';
}
}
$view = View\Factory::getInstance($viewMode);
if ('Php' === $viewMode) {
if (is_array($model) && !empty($model['_tpl_file'])) {
$view->setTpl($model['_tpl_file']);
unset($model['_tpl_file']);
} else {
if (!empty($this->_tpl_file)) {
$view->setTpl($this->_tpl_file);
$this->_tpl_file = null;
} else {
throw new \Exception("tpl file empty");
}
}
}
$view->setModel($model);
return $view->display();
}
示例4: offline
public function offline()
{
// echo 'offline start'.PHP_EOL;
ZCache::getInstance('Redis', ZConfig::getField('cache', 'net'))->delete($this->params['fd']);
$this->boardcast(['cmd' => 'offline', 'fd' => $this->params['fd'], 'from' => 0, 'channal' => 0], false);
// echo 'offline end'.PHP_EOL;
}
示例5: run
public function run($data, $fd = null)
{
if ($this->_client === null) {
$this->_client = new Fcgi\Client(ZConfig::getField('socket', 'fcgi_host', '127.0.0.1'), ZConfig::getField('socket', 'fcgi_port', 9000));
}
return $this->_client->request($data);
}
示例6: run
public function run($data, $fd = null)
{
$server = Protocol\Factory::getInstance(Core\Config::getField('socket', 'protocol', 'Http'));
$server->setFd($fd);
$server->parse($data);
return Core\Route::route($server);
}
示例7: parse
/**
* client包格式: writeString(json_encode(array("a"='main/main',"m"=>'main', 'k1'=>'v1')));
* server包格式:包总长+数据(json_encode)
* @param $_data
* @return bool
*/
public function parse($_data)
{
$ctrlName = Config::getField('project', 'default_ctrl_name', 'main\\main');
$methodName = Config::getField('project', 'default_method_name', 'main');
$fd = Request::getFd();
if (!empty($this->_buffer[$fd])) {
$_data = $this->_buffer . $_data;
}
$packData = new MessagePacker($_data);
$packLen = $packData->readInt();
$dataLen = \strlen($_data);
if ($packLen > $dataLen) {
$this->_buffer[$fd] = $_data;
return false;
} elseif ($packLen < $dataLen) {
$this->_buffer[$fd] = \substr($_data, $packLen, $dataLen - $packLen);
} else {
if (!empty($this->_buffer[$fd])) {
unset($this->_buffer[$fd]);
}
}
$packData->resetOffset();
$params = $packData->readString();
$data = \json_decode($params, true);
$apn = Config::getField('project', 'ctrl_name', 'a');
$mpn = Config::getField('project', 'method_name', 'm');
if (isset($params[$apn])) {
$ctrlName = \str_replace('/', '\\', $params[$apn]);
}
if (isset($params[$mpn])) {
$methodName = $params[$mpn];
}
Request::init($ctrlName, $methodName, $data, Config::getField('project', 'view_mode', 'Zpack'));
return true;
}
示例8: main
public function main()
{
// $this->params = array(
// 'a' => "user\\login",
// 'p' => array(
// 'uid' => 1,
// 'params' => array(),
// ),
// );
if (!$this->uid) {
throw new common\error('错误的用户登陆');
}
$uInfo = $this->userModel->getUserById($this->uid);
if (!$uInfo) {
$initUserConfig = ZConfig::getField('init', 'user');
$d = array('id' => $this->uid, 'coin' => $initUserConfig['coin'], 'created' => time());
$this->userModel->addUser($d);
}
$uConnectInfo = $this->connection->get($this->uid);
if (!$uConnectInfo) {
$this->connection->add($this->uid, $this->fd);
$this->connection->addFd($this->fd, $this->uid);
} else {
common\connection::close($uConnectInfo['fd']);
$this->connection->add($this->uid, $this->fd);
$this->connection->addFd($this->fd, $this->uid);
}
// common\connection::sendOne($this->fd,'login', 'test send one');
// common\connection::sendToChannel('login', 'test send all');
$this->data = array('global' => array('serverTime' => time(), 'nextRoundTime' => common\game::getNextRunTime(), 'currentRound' => common\game::getRuncount()), 'positionList' => common\game::getPositionList(), 'user' => $uInfo ? $uInfo : $d, 'map' => ZConfig::get('map'), 'item' => ZConfig::get('item'));
}
示例9: run
public function run($data, $fd = null)
{
if ($this->_rpc === null) {
$this->_rpc = new \Yar_Client(ZConfig::getField('socket', 'rpc_host'));
}
return $this->_rpc->api($data);
}
示例10: _log
/**
* Send print to terminal.
*/
private static function _log($msgType, $args)
{
if (!Config::getField('project', 'debug_mode', 0)) {
return;
}
if (count($args) == 1) {
$msg = is_scalar($args[0]) ? $args[0] : self::dump($args[0]);
} else {
$msg = self::dump($args);
}
if (self::$DEBUG_TRACE) {
$trace = self::getTrace();
} else {
$trace = array();
}
if ($msgType == 'debug') {
Terminal::drawStr($msg, 'magenta');
} else {
if ($msgType == 'error') {
Terminal::drawStr($msg, 'red');
} else {
if ($msgType == 'info') {
Terminal::drawStr($msg, 'brown');
} else {
Terminal::drawStr($msg, 'default');
}
}
}
//echo "\n";
!empty($trace) && Terminal::drawStr("\t" . implode(" <-- ", $trace) . "\n");
}
示例11: _before
public function _before()
{
$ehConfig = ZConfig::getField('project', 'exception_handler');
if (!empty($ehConfig)) {
\set_exception_handler($ehConfig);
}
return true;
}
示例12: getRankCache
public static function getRankCache()
{
if (empty(self::$rankCache)) {
$config = ZConfig::getField('cache', 'net');
self::$rankCache = ZRank::getInstance($config['adapter'], $config);
}
return self::$rankCache;
}
示例13: main
public function main()
{
// $this->params = array(
// 'a' => "user\\ante",
// 'p' => array(
// 'uid' => 1,
// 'params' => array(
// 'ante' => 'apple',
// 'type' => 1 //1:1 2:100
// ),
// ),
// );
$this->checkLogin();
//
$nextRunTime = common\game::getNextRunTime();
if (time() > $nextRunTime) {
throw new common\error('非法押注.');
}
$anteName = $this->params['ante'];
if (isset($this->params['type'])) {
$anteType = intval($this->params['type']);
if ($anteType == 1) {
$anteRate = 1;
} elseif ($anteType == 2) {
$anteRate = 100;
} else {
$anteRate = ZConfig::getField('init', 'anteRate');
}
} else {
$anteRate = ZConfig::getField('init', 'anteRate');
}
$currentGamecount = common\game::getRuncount();
//check coin
$userInfo = $this->userModel->getUserById($this->uid);
$leftCoin = $userInfo['coin'] - $anteRate;
if ($leftCoin < 0) {
throw new common\error('押注不够.');
}
// $this->userModel->updUserById($this->uid, array('coin' => $leftCoin));
$returnDate = 0;
if (!($userAnte = $this->useranteModel->getAnteByUidGamecount($this->uid, $currentGamecount))) {
$_d = array('uid' => $this->uid, $anteName => $anteRate, 'gameCount' => $currentGamecount, 'created' => time());
$this->useranteModel->addAnte($_d);
$returnDate = $anteRate;
} else {
$val = $userAnte[$anteName] + $anteRate;
if ($val > 999) {
throw new common\error('最大押注为999.');
}
//update
$_d = array($anteName => $val);
$this->useranteModel->updAnteById($userAnte['id'], $_d, $userAnte);
$returnDate = $_d[$anteName];
}
$this->userModel->updUserById($this->uid, array('coin' => $leftCoin));
$this->data = array($anteName => $returnDate, 'coin' => $leftCoin);
common\game::sendCurrentAnte();
}
示例14: sendMaster
public function sendMaster(array $_params = null)
{
if (!empty($_params)) {
$this->_data = $this->_data + $_params;
}
$host = Config::getField('socket', 'host');
$port = Config::getField('socket', 'port');
$client = new ZSClient($host, $port);
$client->send($this->getData());
}
示例15: onWorkerStart
public function onWorkerStart($server, $workerId)
{
if ($workerId >= ZConfig::getField('socket', 'worker_num')) {
swoole_set_process_name(ZConfig::get('project_name') . " server task num: {$server->worker_id} pid " . $server->worker_pid);
} else {
swoole_set_process_name(ZConfig::get('project_name') . " server worker num: {$server->worker_id} pid " . $server->worker_pid);
}
if (function_exists('opcache_reset')) {
opcache_reset();
}
}