qfdw.xyz sq.php,GitHub - STORMSQ/sqphp: 練習用框架,使用PHP搭建
SQPHP
這是一個練習用的PHP框架,起初是為了自己實現如何編寫依賴注入,並且受到Laravel的啟發,因此決定搞一個框架,也算是自己對於PHP學習的總結。
這個框架是開源的,任何人都可以使用,框架功能還在製作中,因為是悠閒性質,所以只有在有空的時候會繼續補強。
結至2021年初,先簡單實現MVC中的C功能。
定義路由
在route目錄下編輯Route.php,該檔案內容如下
namespace route;
return [
['url'=>'/','controller'=>'TestController','action'=>'index','method'=>'get'],
];
路由是由一個陣列組成,裡面需要給定四個屬性
url
controller
action
method
url屬性是restful的格式,代表資源的訪問路徑,例如:
'url'=>'/controller/action'
controller指要使用哪個控制器
'controller'=>'TestController'
action是指要使用controller下的哪個方法
'action'=>'index'
method是提交的方式,如GET或POST
'method'=>'get'
定義控制器
控制器位置在runtime/controllers裡,控制器的位置必需放置在runtime/controllers下。
假設路由定義為
['url'=>'/controller/action','controller'=>'TestController','action'=>'index','method'=>'get'],
你需要在目錄下建立TestController,且擁有index方法,因此具體控制器類如下
namespace RunTime\controllers;
class TestController extends Controller
{
public function index(Demo $demo)
{
//方法體
}
...
}
如上方代碼所示,方法可以注入額外的實例,你不必去new一個實例,這是因為這個框架有使用依賴注入。
qfdw.xyz sq.php,GitHub - STORMSQ/sqphp: 練習用框架,使用PHP搭建相关推荐
- [心得] 如何利用liquibase進行資料庫版本控制 - 實際練習
透過上一篇的基本觀念介紹,希望大家應該有一點點感覺了! 這篇我們就來做個簡單的版本演練,加深印象吧! 我使用的環境如下 System : Windows 7 Database : SQL Server ...
- 練習重繪TreeView控件
前兩天看過別人做的"TreeView实现类似Outlook在收件箱后面显示新邮件数"的例子(原文:http://www.cnblogs.com/anjou/archive/2007 ...
- Github Pages + Jekyll 独立博客一小时快速搭建上线指南
只要一小时?! 人生道路上布满了坑,于是有了人生导师. 美丽的地球上布满了坑,于是有了Google Earth. 使用Github Pages搭建独立博客的过程中布满了坑,所以有了这篇指南. 我在 ...
- [Git GitHub] Windows下安装git,从0开始搭建git环境(配置环境变量+设置git-ssh key...配置)(超全版)
目录 前提准备 安装Git Git配置 配置环境变量 git配置 ssh认证配置过程 配置邮箱和用户名(个人身份) 文本换行符配置 前提准备 下载地址:点击此处 点击Windows进行下载. 若下载比 ...
- Hexo+GitHub静态博客系列1——三步快速搭建
前言 Hexo+GitHub静态博客搭建姿势千千万,各种教程也写烂 那么此搭建姿势就非主流些,侧重图形化操作,减少代码配置,适合新手快速搭建 说来本人也是臭毛病,wordpress.emlog等博客系 ...
- java兩個矩陣相乘_Day12 練習java-矩陣乘法
昨天已經挑戰完矩陣的加和減了,今天來挑戰稍難一點的矩陣乘法,再開始之前先來簡單介紹矩陣的乘法吧~~ 對於矩陣來說跟一般數字的四則運算有著很大的差異,就是加或減與乘跟除的不同,矩陣的乘除比較複雜,除法是 ...
- java如何將數組反轉_Java基礎練習題 (4)數組操作
(1)如何創建空數組?int[] array = {}; int[] array = new int[]{}; 如果是創建空集合呢?Collections 類有一個方法 emptyList(), 返回 ...
- java程序大笨钟怎么打,L1-018.大笨鍾(Java)PAT團體程序設計天梯賽-練習集
微博上有個自稱"大笨鍾V"的家伙,每天敲鍾催促碼農們愛惜身體早點睡覺.不過由於笨鍾自己作息也不是很規律,所以敲鍾並不定時.一般敲鍾的點數是根據敲鍾時間而定的,如果正好在某個整點敲, ...
- php 后端 轻量 框架,GitHub - 22cloud/mixphp: 轻量 PHP 框架,基于 Swoole 的常驻内存型 PHP 高性能框架 (开发文档完善)...
高性能 • 轻量级 • 命令行 MixPHP 是什么 MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作 ...
最新文章
- ROS 使用参数以及相应的 .launch 文件编写
- 【干货分享】32本优秀的 JavaScript 免费电子书
- php rss xml,php – 如何使用simplexml解析RSS中的标记
- 腾讯AI Lab涂兆鹏:如何提升神经网络翻译的忠实度 | PhD Talk #22
- OpenCV将现有算法移植到G-API的实例(附完整代码)
- docker jenkins 公钥_代码自动发布docker(20.10.1)+k8s(1.20.1)
- 商桥物流完成达晨创投领投2.5亿元A+轮融资,创建立体化零担物流网络
- 【软件使用技巧】二(Word文档损坏)
- 搭建自己的OwnCloud私有云
- chrome手机版怎么扫描二维码_照片扫描仪软件手机版-照片扫描仪手机版官网版下载v3.2.0...
- Work breakdown structure 简介
- 键值数据库的基本架构
- 2021年焊工(初级)考试题及焊工(初级)考试试卷
- android11.0 Launcher3 高端定制之抽屉列表固定APP显示位置
- 直播预告|5月26日14:00 AAAI 专场三
- [VishawaCTF]部分wp
- UE4蓝图 传送带效果
- gentoo命令行刻录
- GET和POST的使用
- Ubuntu开机自动加载驱动模块