popphp/pop-web
最新稳定版本:2.1.0p1
Composer 安装命令:
composer require popphp/pop-web
包简介
Pop Web Component for Pop PHP Framework
README 文档
README
END OF LIFE
The pop-web component v2.1.0 is now end-of-life. The session and cookie sub-components have
been forked and pushed into their own individual repositories:
- popphp/pop-session
- popphp/pop-cookie
The remaining sub-components and classes will no longer be supported.
OVERVIEW
pop-web is collection of web-based tools that can be utilized by a web-based application.
It contains core features that help to use, parse and manipulate sessions, cookies, mobile
devices and browser and server data.
pop-web is a component of the Pop PHP Framework.
INSTALL
Install pop-web using Composer.
composer require popphp/pop-web
BASIC USAGE
Using sessions
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();
Advanced session usage
Session values available based on time expiration:
use Pop\Web\Session; $sess = Session::getInstance(); $sess->setTimedValue('foo', 'bar', 10); // # of seconds if (isset($sess->foo)) { echo $sess->foo; } else { echo 'Nope!'; }
Session values available based on number of requests:
use Pop\Web\Session; $sess = Session::getInstance(); $sess->setRequestValue('foo', 'bar', 1); // # of requests if (isset($sess->foo)) { echo $sess->foo; } else { echo 'Nope!'; }
Session values available based on number of namespace:
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!'; }
Using cookies
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']);
Accessing server data
$server = new Pop\Web\Server(); // Linux echo $server->getOs(); // Ubuntu echo $server->getDistro(); // Apache echo $server->getServer(); // 2.4 echo $server->getServerVersion();
Accessing browser data
$browser = new Pop\Web\Browser(); // Firefox echo $browser->getName(); // 39.0 echo $browser->getVersion(); // Linux echo $browser->getPlatform(); // Returns false if ($browser->isMsie()) {}
Managing mobile requests and redirection
Auto-detect and route
$mobile = new Pop\Web\Mobile([ 'desktop' => 'http://www.mydomain.com/', 'tablet' => 'http://tablet.mydomain.com/', 'mobile' => 'http://mobile.mydomain.com/' ]); $mobile->route();
Force redirect 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();
popphp/pop-web 适用场景与选型建议
popphp/pop-web 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.11k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2014 年 12 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「browser」 「mobile」 「cookies」 「sessions」 「pop」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 popphp/pop-web 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 popphp/pop-web 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 popphp/pop-web 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Give your JS App some Backbone with Models, Views, Collections, and Events.
Beyonic PHP Library
Instrument headless chrome/chromium instances from php5.6
Selenium4 (WebDriver) driver for Mink framework
The skeleton application for NativePHP for Mobile.
PHP SDK for Mobile Message SMS API
统计信息
- 总下载量: 1.11k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: New
- 更新时间: 2014-12-05