Re: 关于系统入口重定向的疑问

64 views
Skip to first unread message
Message has been deleted

bzfshop-support

unread,
Jan 3, 2014, 9:41:50 AM1/3/14
to bzfsho...@googlegroups.com
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   所有的参数来决定真正运行的程序是什么






bzfshop-support

unread,
Jan 3, 2014, 9:47:23 AM1/3/14
to bzfsho...@googlegroups.com
那些一堆  thread.php ,  ask.php, team.php ,....   这都是 PHP 4.0 时代的写法,很不幸现在国内还很流行这种老式的写法

虽然很多程序用的都是 PHP 5.2 (ecshop, shopex, ...),但是设计思想基本还停留在 PHP 4.0 时代的老思维
Reply all
Reply to author
Forward
Message has been deleted
0 new messages