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搭建相关推荐

  1. [心得] 如何利用liquibase進行資料庫版本控制 - 實際練習

    透過上一篇的基本觀念介紹,希望大家應該有一點點感覺了! 這篇我們就來做個簡單的版本演練,加深印象吧! 我使用的環境如下 System : Windows 7 Database : SQL Server ...

  2. 練習重繪TreeView控件

    前兩天看過別人做的"TreeView实现类似Outlook在收件箱后面显示新邮件数"的例子(原文:http://www.cnblogs.com/anjou/archive/2007 ...

  3. Github Pages + Jekyll 独立博客一小时快速搭建上线指南

    只要一小时?! 人生道路上布满了坑,于是有了人生导师.  美丽的地球上布满了坑,于是有了Google Earth.  使用Github Pages搭建独立博客的过程中布满了坑,所以有了这篇指南. 我在 ...

  4. [Git GitHub] Windows下安装git,从0开始搭建git环境(配置环境变量+设置git-ssh key...配置)(超全版)

    目录 前提准备 安装Git Git配置 配置环境变量 git配置 ssh认证配置过程 配置邮箱和用户名(个人身份) 文本换行符配置 前提准备 下载地址:点击此处 点击Windows进行下载. 若下载比 ...

  5. Hexo+GitHub静态博客系列1——三步快速搭建

    前言 Hexo+GitHub静态博客搭建姿势千千万,各种教程也写烂 那么此搭建姿势就非主流些,侧重图形化操作,减少代码配置,适合新手快速搭建 说来本人也是臭毛病,wordpress.emlog等博客系 ...

  6. java兩個矩陣相乘_Day12 練習java-矩陣乘法

    昨天已經挑戰完矩陣的加和減了,今天來挑戰稍難一點的矩陣乘法,再開始之前先來簡單介紹矩陣的乘法吧~~ 對於矩陣來說跟一般數字的四則運算有著很大的差異,就是加或減與乘跟除的不同,矩陣的乘除比較複雜,除法是 ...

  7. java如何將數組反轉_Java基礎練習題 (4)數組操作

    (1)如何創建空數組?int[] array = {}; int[] array = new int[]{}; 如果是創建空集合呢?Collections 類有一個方法 emptyList(), 返回 ...

  8. java程序大笨钟怎么打,L1-018.大笨鍾(Java)PAT團體程序設計天梯賽-練習集

    微博上有個自稱"大笨鍾V"的家伙,每天敲鍾催促碼農們愛惜身體早點睡覺.不過由於笨鍾自己作息也不是很規律,所以敲鍾並不定時.一般敲鍾的點數是根據敲鍾時間而定的,如果正好在某個整點敲, ...

  9. php 后端 轻量 框架,GitHub - 22cloud/mixphp: 轻量 PHP 框架,基于 Swoole 的常驻内存型 PHP 高性能框架 (开发文档完善)...

    高性能 • 轻量级 • 命令行 MixPHP 是什么 MixPHP 秉承 "普及 PHP 常驻内存型解决方案,促进 PHP 往更后端发展" 的理念而创造,采用 Swoole 扩展作 ...

最新文章

  1. ROS 使用参数以及相应的 .launch 文件编写
  2. 【干货分享】32本优秀的 JavaScript 免费电子书
  3. php rss xml,php – 如何使用simplexml解析RSS中的标记
  4. 腾讯AI Lab涂兆鹏:如何提升神经网络翻译的忠实度 | PhD Talk #22
  5. OpenCV将现有算法移植到G-API的实例(附完整代码)
  6. docker jenkins 公钥_代码自动发布docker(20.10.1)+k8s(1.20.1)
  7. 商桥物流完成达晨创投领投2.5亿元A+轮融资,创建立体化零担物流网络
  8. 【软件使用技巧】二(Word文档损坏)
  9. 搭建自己的OwnCloud私有云
  10. chrome手机版怎么扫描二维码_照片扫描仪软件手机版-照片扫描仪手机版官网版下载v3.2.0...
  11. Work breakdown structure 简介
  12. 键值数据库的基本架构
  13. 2021年焊工(初级)考试题及焊工(初级)考试试卷
  14. android11.0 Launcher3 高端定制之抽屉列表固定APP显示位置
  15. 直播预告|5月26日14:00 AAAI 专场三
  16. [VishawaCTF]部分wp
  17. UE4蓝图 传送带效果
  18. gentoo命令行刻录
  19. GET和POST的使用
  20. Ubuntu开机自动加载驱动模块

热门文章

  1. TensorFlow指定使用GPU 多块gpu
  2. 深度学习编译器Data Flow和Control Flow
  3. GPU上如何优化卷积
  4. 使用Nucleus SE实时操作系统
  5. 寻找汽车连接的解决方案
  6. 使用现场总线更快更远
  7. Django 第三方引用富文本编辑器6.1
  8. c语言gather函数,TensorFlow函数:tf.gather_nd
  9. python 遍历字符串
  10. android 实现 下拉筛选的效果