bzfshop 和传统的 PHP 不一样,传统的 PHP 程序就是一堆 PHP 文件紧密耦合,比如 thread.php?xxxxx view.php?xxxx ask.php?xxxx
每一个 PHP 都是一个独立的程序,独立运行,然后写死链接指向这些文件
bzfshop 是模块化 完全解耦和的,没有这些杂七杂八的 php 独立程序,index.php 唯一的入口, 它根据 “不同的参数” 来解释应该运行什么程序
index.php 参数:
URI: /Goods/View
GET 参数: goods_id=xxx, category_id=xxxx
POST 参数: ....
传统的 PHP 只考虑 GET, POST 参数, bzfshop 多了一个考虑 "你请求的地址 URI" ,比如 /Goods/View ,bzfshop 会根据内部逻辑去找到对应的 Controller,然后执行
你执行 localhost:8080 和 localhost:8080/index.php 有一个很明显的差别
localhost:8080 这个的 URI 为空,系统缺省为 / ,于是 bzfshop 就会去找 缺省的 Controller
localhost:8080/index.php 这的 URI 是 /index.php ,这个对应的 Controller 不存在,所以会有错误信息
不要把 bzfshop 的 index.php 想象得和普通 PHP 一样, bzfshop 的 index.php 只是一个统一的入口,相当于 C 语言中的 main() 函数,入口而已
这个入口根据解析 URI, GET, POST 所有的参数来决定真正运行的程序是什么