widget / widget
A micro-framework provided powerful and simple APIs for faster and easier PHP development.
Installs: 75
Dependents: 0
Suggesters: 0
Security: 0
Stars: 50
Watchers: 6
Forks: 14
Open Issues: 0
pkg:composer/widget/widget
Requires
- php: >=7.2
 
Requires (Dev)
- joseph-lenton/php-error: dev-master
 - miaoxing/dev: ^9.3.1
 
Suggests
- ext-curl: To use `\Wei\Http`
 - ext-redis: To use `\Wei\Redis`
 - ext-simplexml: To use `\Wei\WeChatApp`
 
- dev-main / 0.18.4.x-dev
 - v0.18.4
 - v0.18.3
 - v0.18.2
 - v0.18.1
 - v0.18.0
 - v0.17.9
 - v0.17.8
 - v0.17.7
 - v0.17.6
 - v0.17.5
 - v0.17.4
 - v0.17.3
 - v0.17.2
 - v0.17.1
 - v0.17.0
 - v0.16.0
 - v0.15.12
 - v0.15.11
 - v0.15.10
 - v0.15.9
 - v0.15.8
 - v0.15.7
 - v0.15.6
 - v0.15.5
 - v0.15.4
 - v0.15.3
 - v0.15.2
 - v0.15.1
 - v0.15.0
 - v0.14.0
 - v0.13.0
 - v0.12.6
 - v0.12.5
 - v0.12.4
 - v0.12.3
 - v0.12.2
 - v0.12.1
 - v0.12.0
 - v0.11.1
 - v0.11.0
 - v0.10.11
 - v0.10.10
 - v0.10.9
 - v0.10.8
 - v0.10.7
 - v0.10.6
 - v0.10.5
 - v0.10.4
 - v0.10.3
 - v0.10.2
 - v0.10.1
 - v0.10.0
 - v0.9.31
 - v0.9.30
 - v0.9.29
 - v0.9.28
 - v0.9.27
 - v0.9.26
 - v0.9.25
 - v0.9.24
 - v0.9.23
 - v0.9.22
 - v0.9.21
 - v0.9.20
 - v0.9.19
 - v0.9.17
 - 0.9.16
 - 0.9.15
 - 0.9.14
 - 0.9.13
 - 0.9.12
 - 0.9.11
 - 0.9.10
 - 0.9.9
 - 0.9.9-RC1
 - 0.9.8
 - 0.9.8-RC1
 - 0.9.7
 - 0.9.7-RC1
 - 0.9.6
 - 0.9.6-RC1
 - 0.9.5
 - 0.9.5-RC1
 - 0.9.4
 - 0.9.3
 - 0.9.3-RC1
 - 0.9.2-beta
 - dev-feature/async-widget
 
This package is auto-updated.
Last update: 2025-10-31 00:23:32 UTC
README
Wei is a micro-framework provided powerful but simple APIs for faster and easier PHP development.
Getting started
Start using Wei in 3 steps, it's easier than any frameworks you've seen before!
// 1. Include the wei container class require 'path/to/wei/lib/Wei.php'; // 2. Create the default wei container instance $wei = wei([ // Options for wei container 'wei' => [ 'debug' => true, // Other options ... ], // Options for database 'db' => [ 'driver' => 'mysql', 'host' => 'localhost', 'dbname' => 'wei', 'charset' => 'utf8', 'user' => 'root', 'password' => 'xxxxxx', ], // More options ... ]); // 3. Using "db" object to execute SQL query $result = $wei->db->fetch("SELECT 1 + 2");
Installation
Composer
Run the following command to install
composer require wei/wei
Download source code
Resources
- Documentation (Chinese, GitHub online markdown)
 - Documentation (Chinese, single HTML file)
 - API Documentation (English)
 - Demo (English, GitHub online markdown)
 
API Overview
Cache
// Available cache objects $wei->cache; $wei->apcu; $wei->arrayCache; $wei->dbCache; $wei->fileCache; $wei->memcache; $wei->memcached; $wei->mongoCache; $wei->redis; $wei->nullCache; $cache = $wei->memcached; // Cache APIs $cache->get('key'); $cache->set('key', 'value', 60); $cache->delete('key'); $cache->has('key'); $cache->add('key', 'value'); $cache->replace('key', 'value'); $cache->incr('key', 1); $cache->decr('key', 1); $cache->getMultiple(array('key', 'key2')); $cache->setMultiple(array('key' => 'value', 'key2' => 'value2')); $cache->clear(); // ...
Database
$db = $wei->db; // Basic CRUD and Active Recrod support $db->query(); $db->insert(); $db->update(); $db->delete(); $db->select(); $db->selectAll(); $db->fetch(); $db->fetchAll(); $db->fetchColumn(); $db->find(); $db->findOne(); $db->findAll(); $db->execute(); // Using query builder to build SQL $record = $db('table'); $record ->select() ->addSelect() ->update() ->delete() ->from() ->where() ->andWhere() ->orWhere() ->groupBy() ->addGroupBy() ->having() ->andHaving() ->orHaving() ->orderBy() ->addOrderBy() ->offset() ->limit() ->page() ->indexBy(); $record->find(); $record->findAll(); $record->fetch(); $record->fetchAll(); $record->fetchColumn(); $record->count(); $record->execute(); $record->getSql(); // ...
Validator
// Available validator objects // Data type and composition $wei->isAlnum($input); $wei->isAlpha($input); $wei->isBlank($input); $wei->isDecimal($input); $wei->isDigit($input); $wei->isDivisibleBy($input); $wei->isDoubleByte($input); $wei->isEmpty($input); $wei->isEndsWith($input); $wei->isIn($input); $wei->isLowercase($input); $wei->isNull($input); $wei->isNumber($input); $wei->isRegex($input); $wei->isRequired($input); $wei->isStartsWith($input); $wei->isType($input); $wei->isUppercase($input); // Length $wei->isLength($input); $wei->isCharLength($input); $wei->isMaxLength($input); $wei->isMinLength($input); // Comparison $wei->isEqualTo($input); $wei->isIdenticalTo($input); $wei->isGreaterThan($input); $wei->isGreaterThanOrEqual($input); $wei->isLessThan($input); $wei->isLessThanOrEqual($input); $wei->isBetween($input); // Date and time $wei->isDate($input); $wei->isDateTime($input); $wei->isTime($input); // File and directory $wei->isDir($input); $wei->isExists($input); $wei->isFile($input); $wei->isImage($input); // Network $wei->isEmail($input); $wei->isIp($input); $wei->isTld($input); $wei->isUrl($input); $wei->isUuid($input); // Region: All $wei->isCreditCard($input); // Region: Chinese $wei->isChinese($input); $wei->isIdCardCn($input); $wei->isIdCardHk($input); $wei->isIdCardMo($input); $wei->isIdCardTw($input); $wei->isPhoneCn($input); $wei->isPostcodeCn($input); $wei->isQQ($input); $wei->isMobileCn($input); // Group $wei->isAllOf($input); $wei->isNoneOf($input); $wei->isOneOf($input); $wei->isSomeOf($input); // Others $wei->isAll($input); $wei->isCallback($input); $wei->isColor($input); // Validate and get error message if (!$wei->isDigit('abc')) { print_r($wei->isDigit->getMessages()); } // ...
More
$wei->request; $wei->cookie; $wei->session; $wei->ua; $wei->upload; $wei->response; $wei->e; $wei->logger; $wei->call; $wei->env; $wei->error; // ...
Testing
To run the tests:
$ phpunit
License
Wei is an open-source project released MIT license. See the LICENSE file for details.