popphp/pop-web

此包已被废弃,不再维护。未建议替代包。

Pop PHP 框架的 Pop Web 组件

2.1.0p1 2016-07-08 04:42 UTC

This package is auto-updated.

Last update: 2022-02-01 12:42:23 UTC


README

生命终止

现在 pop-web 组件 v2.1.0 已达到生命终止。会话和cookie子组件已被分支并推入各自的独立仓库

  • popphp/pop-session
  • popphp/pop-cookie

剩余的子组件和类将不再受支持。

概述

pop-web 是一组可用于基于 Web 的应用程序的 Web 工具。它包含核心功能,帮助使用、解析和操作会话、cookie、移动设备和浏览器及服务器数据。

pop-webPop PHP 框架 的一个组件。

安装

使用 Composer 安装 pop-web

composer require popphp/pop-web

基本使用

使用会话

use Pop\Web\Session;

$sess = Session::getInstance();

// Set session values
$sess->foo   = 'bar';
$sess['baz'] = 123;

// Access session values
echo $sess['foo'];
echo $sess->baz;

// Unset session values
unset($sess->foo);
unset($sess['baz']);

// Kill/clear out the session
$sess->kill();

高级会话使用

基于时间过期的会话值
use Pop\Web\Session;

$sess = Session::getInstance();
$sess->setTimedValue('foo', 'bar', 10); // # of seconds

if (isset($sess->foo)) {
    echo $sess->foo;
} else {
    echo 'Nope!';
}
基于请求次数的会话值
use Pop\Web\Session;

$sess = Session::getInstance();
$sess->setRequestValue('foo', 'bar', 1); // # of requests

if (isset($sess->foo)) {
    echo $sess->foo;
} else {
    echo 'Nope!';
}
基于命名空间数量的会话值
use Pop\Web\SessionNamespace;

$sess = new SessionNamespace(__NAMESPACE__);
$sess->foo = 'bar'

if (isset($sess->foo)) {
    echo $sess->foo;  // Only available under the namespace passed.
} else {
    echo 'Nope!';
}

使用 cookie

use Pop\Web\Cookie;

$cookie = Cookie::getInstance([
    'path'   => '/',
    'expire' => time() + 3600
]);

// Set cookie values
$cookie->foo = 'bar';
$cookie['baz'] = 123;

// Access cookie values
echo $cookie->foo;
echo $cookie['baz'];

// Unset cookie values
unset($cookie->foo);
unset($cookie['baz']);

访问服务器数据

$server = new Pop\Web\Server();

// Linux
echo $server->getOs();

// Ubuntu
echo $server->getDistro();

// Apache
echo $server->getServer();

// 2.4
echo $server->getServerVersion();

访问浏览器数据

$browser = new Pop\Web\Browser();

// Firefox
echo $browser->getName();

// 39.0
echo $browser->getVersion();

// Linux
echo $browser->getPlatform();

// Returns false
if ($browser->isMsie()) {}

管理移动请求和重定向

自动检测和路由
$mobile = new Pop\Web\Mobile([
    'desktop' => 'http://www.mydomain.com/',
    'tablet'  => 'http://tablet.mydomain.com/',
    'mobile'  => 'http://mobile.mydomain.com/'
]);

$mobile->route();
强制重定向路由
$mobile = new Pop\Web\Mobile([
    'desktop' => 'http://www.mydomain.com/',
    'tablet'  => 'http://tablet.mydomain.com/',
    'mobile'  => 'http://mobile.mydomain.com/'
]);

// If an iPad, force redirect
if ($mobile->isApple() && $mobile->isTablet()) {
    $mobile->setRoute(Pop\Web\Mobile::TABLET);
}

$mobile->route();