# webframework **Repository Path**: tangzhangming/webframework ## Basic Information - **Project Name**: webframework - **Description**: No description available - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-11-03 - **Last Updated**: 2022-05-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一个PHP写的web框架 注意, 这不是一个可以用于生成环境的版本 #### 介绍 使用Yii2的部分思想 操作上向laravel靠拢, 可能你好奇为什么要写这个框架而不直接使用Yii或者laravel。 我个人十分喜欢Yii2.0这个框架,稳定可靠十分强大,但laravel的出现,让Yii显得十分不灵活,在使用Yii的时候有时候就觉得憋屈不如laravel那么优雅,但是laravel太多花哨的东西,源码又难以阅读,虽然同为重型框架,但是Yii的代码方便阅读,可以简单的看明白代码的实现,更容易理解到作者的思路。 Yii的组件本身是全部可以替换的,我也写过几个组件集成自带组件,使其变得更易用,不过一些laravel里的玩意在Yii里实现对框架本身侵入太大,比如中间件,Yii自带的filter和laravel的中间件本质上是一个东西,不过显而易见laravel的中间件比Yii的filter好用几十倍。 写这个框架就是为了保持Yii直肠子式设计,使开发者能像掌握Yii2一样简单易懂, 同时把一些基础功能写的像Laravel一样优雅好用 #### 安装使用 直接下载或克隆 #### 组件 ``` /** * app() 是框架唯一定义的一个函数,它是Application类的单例 * 如果你曾经使用过Yii2框架,你可以把它理解为 Yii2的 Yii::$app */ //调用组件方式1 app()->componentID //调用组件方式2 app(componentID) //例子 app()->config->get('app.name'); app('response')->json(); ``` #### 请求 ``` //获的请求组件 $request = app()->request; //获取客户端IP $request->ip() //获取客户端当前访问的url $request->url(); //获取当前HTTP方法 $request->method(); ``` #### 使用文档 1. [组件](./docs/component.md) 3. [配置](./docs/config.md) 2. [请求](./docs/request.md) 2. [响应](./docs/response.md) 3. [会话管理](./docs/session.md)