php制作的ios端 跳转url,ThinkPHP 简易开发思路 MVC和URL跳转
本文作者:Twe1ve(贝塔安全实验室-核心成员)
这段时间在看PHP代码审计相关知识,国内有不少CMS都是基于ThinkPHP开发的,因此了解ThinkPHP的开发思路更容易理解这类CMS的代码
一般分为前后台等模块进行开发:
index.php前台入口文件定义引入ThinkPHP_PATH、项目路径、项目名称
define('APP_PATH', "./App/"); //项目路径 define('THINK_PATH', "./Include/");// require THINK_PATH . 'ThinkPHP.php'; //加载ThinkPHP框架
admin.php前台入口文件定义引入ThinkPHP_PATH、后台模块路径、后台名称
define('BIND_MODULE', 'Manage'); // define('THINK_PATH', "./Include/"); require THINK_PATH . 'ThinkPHP.php'; //加载ThinkPHP框架
在APP路径下生成MANAGE目录
MVC 框架
M-modole(模型):编写model类对数据进行操作
对应目录:项目目录/应用目录/Lib/Model
V-view(视图):编写html、页面呈现
对应目录:项目目录/应用目录/Tpl
C-controller(控制器):编写类文件(如UserAction.class.php)
对应目录:项目目录/应用目录/Lib/Action
URL 4种访问模式
模式设置:URL_MODEL=0/1/2/3 (在ThinkPHP/conf/convention.php文件中)
0、普通模式
http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2
1、Pathinfo(路由模式)********
http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2
2、Rewrite(重写模式)
http://域名/项目名/模块名/方法名/键1/值1/键2/值2
3、兼容模式 ******
http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2
URL访问Controller
http://127.0.0.1/xyhcms/index.php
默认使用的模块index(为方便理解,这里我把模块理解成Controller...和其他地方讲解的有出入)
默认使用的方法是index
即相当于访问http://127.0.0.1/xyhcms/index.php/index/index
不同栏目的跳转和页面呈现
通过上面的一些例子,应该可以看到一些端倪:
不同
模块(
前后
台)内部通过Controller控制器实现不同栏目,再通过Controller中的方法实现不同页面的呈现
可通过一个简答的小实验来验证:
修改xyhcms\App\Home\Controller\IndexController.class.php
常用变量
__PUBLIC__: 公共(一般为public)文件目录
__Model__: 获取当前模块名
__ROOT__:替换为当前网站地址(不包含域名)
__APP__:替换为当前应用URL地址(不包含域名)
__MODULE__:当前模块URL地址(不包含域名)
__Controller__:当前控制器URL地址(不包含域名)
__Action__:当前操作URL地址(不包含域名)
__SELF__:当前页面URL
参考链接:
https://blog.csdn.net/weixin_33924312/article/details/89628867
http://document.thinkphp.cn/manual_3_2.html#read_dataThinkPHP3.2完全开发手册
更多的学习资源,
更好的学习氛围,
欢迎加入我们的知识星球!
php制作的ios端 跳转url,ThinkPHP 简易开发思路 MVC和URL跳转相关推荐
- iOS端实现登录输入框的三种思路(包含UIBezierPath等)
今天跟我们的UI 对现在的应用界面,突然发现了一个问题,就是我的输入框为什么和他给出的不一样.. 做完效果: 要求效果: 没办法,改呗. 既然设计到边框,首先要先明确切圆角和绘制边框线的方法. < ...
- php二次跳转,discuz二次开发笔记(二)------跳转函数运用,discuz二次开发_PHP教程...
discuz二次开发笔记(二)------跳转函数运用,discuz二次开发 前几天在增加修改功能时,突然用到一个提示函数,有点不理解,看了他的由来后果断做下笔记,感觉这在以后的开发中肯定还是要用的上 ...
- iOS端URL编码和解码过程
一.URL含义 1.URL定义 URL 是Uniform Resource Locator 的缩写,统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址 ...
- h5页面在新版微信iOS 端出现底部白色导航条
新版微信在苹果iOS 端的h5页面如果有路由跳转,会出现底部白色导航条,出现此情况的原因是: 由于底部导航栏是因为出现history记录才出现的.使用replace就没有history记录,解决办法 ...
- iOS URL Schemes 使用详解 什么是 URL Schemes
URL Schemes 使用详解 用原生 iOS 的人分两种,懂 URL Schemes 的和不懂的. 前者是「魔法师」,后者是「麻瓜」. URL Schemes 应用在 iOS 上已经很久了.对于使 ...
- 推荐一款 iOS 端黑科技自动化应用脚本
1. 场景 相信大部分同学早上醒来之后,都是手动打开音乐软件,播放自己喜欢的音乐,然后手动滑动屏幕,查看今天的天气,日复一日,生活显得特别的朴实无华且枯燥 试想一下,如果清晨醒来时,按掉闹铃后能自动化 ...
- 一步步搭建视频直播系统,基于LFLiveKit+ijkplayer+rtmp(iOS端)
原文来自简书,原文地址:http://www.jianshu.com/p/30595a5bff42 本文主要使用的三个技术: 推流:LFLiveKit 播放:ijkplayer 服务器:nginx+r ...
- iOS开发 搭建视频直播系统,基于LFLiveKit+ijkplayer+rtmp(iOS端)
本文主要使用的三个技术: 推流:LFLiveKit 播放:ijkplayer 服务器:nginx+rtmp+ffmpeg 有了这三点技术就可以完成一个简约的直播系统.效果图如下(右边的是用模拟器设备运 ...
- iOS端矢量图解决方案汇总
Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者 | 小猪 来源 | 小猪的博客 https: ...
最新文章
- crontab的用法
- 黄峥辞职,拼多多何去何从?
- php 中的作用是什么,php中static关键字的作用是什么
- nginx优化——包括https、keepalive等
- log4net简单配置与应用
- 【caffe】Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERRO
- 数据库-Oracle【Oracle 三种集合数据类型的比较 】
- 钢绞线的弹性模量的计算方法_钢绞线弹性模量的理论计算及其影响因素分析
- eas表单分录带出自定义核算项目
- pyqt5 选择打开文件夹与读取文件夹图片列表
- 生鲜电商纷纷传上市,但赛道并不性感
- c语言程序设计慕课版答案潘晟旻,附件1团队及组成.doc
- 项目进度控制的主要任务是什么?
- 用matlab做音乐仿真,Matlab课程设计报告--MATLAB GUI的音乐键盘仿真
- css3制作翘边阴影
- DPC(Defect Point Correction)------坏点校正
- 一个神奇指标公式,能找到立刻单边行情的品种,准确率惊人,堪称交易法宝!
- nmap批量扫描(速度快)方法
- 【每日新闻】中国人工智能技术爆炸发展,美国开始落后?
- NCR Shuffle算法原理