根据ThinkPHP官方文档学习opensns框架
主要看了下opensns所用的单一入口模式的意义。
基础
opensns目录结构
- index.php 入口文件
- Application 应用目录(含有对应页面功能的php函数)
- Public 资源文件目录,一些共用的css,js,images文件。
- OcApi 与数据库交互的的类
- ThinkPHP 框架系统目录
其余暂时没看懂
入口文件(主目录下index.php文件)
ThinkPHP采用单一入口模式进行项目部署和访问:
关于单一入口:
对应多入口,即用不同的文件处理不同的http请求,如index.php - 网站首页
list.php?page=5 - 内容列表页
info.php?id=12 - 内容详细页
login.php - 用户登录页
单入口就是只用index.php回应所有的http请求
具体实现:
在访问index.php时候附带参数。可以发现 如://从url中取出action参数,如果没有提供action参数,就设置一个默认的'index'作为参数$action=$_GET['action']==''?'index':$_GET['action'];include('files/'.$action.'.php');//根据$action参数调用不同的代码文件,从而满足单一入口实现对应的不同的功能
好处:
可以进行集中的安全性检查(否则每个文件中都需要加上,很反复),访问统计。