thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么
thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么
一、总结
一句话总结:在thinkphp中,我们访问的始终是入口文件,并没有主动去访问任何一个其他文件,只不过在入口文件体内,把这些类包进来而已,然后调用这些包进来的文件的方法,就是new这个对象,用->调用这个对象的方法,所以我们在类的方法里面找图片的时候,只是相对入口文件去找,否则就会找错人
1、thinkphp中的localhost/mytp/index.php?m=Index&a=show路径中的各个部分是什么意思?
a是action,表示方法
m表示模块module,也就是控制器
localhost/mytp/index.php?m=Index&a=show
等价于
localhost/mytp/index.php/Index/show
Index控制器,show方法,
不过thinkphp中推荐使用后者
2、thinkphp为什么要将路径从localhost/mytp/index.php?m=Index&a=show的形式变成localhost/mytp/index.php/Index/show的形式?
因为百度喜欢收录静态文件,localhost/mytp/index.php/Index/show表示参数不会随便的变化,所以这样做是为了百度认识目录,它可以让百度的搜索引擎把这个误认为是一个目录,有利于提高收录率
3、thinkphp中入口文件的实质是什么?
在thinkphp中,我们访问的始终是入口文件,并没有主动去访问任何一个其他文件,只不过在入口文件体内,把这些类包进来而已,然后调用这些包进来的文件的方法,就是new这个对象,用->调用这个对象的方法,所以我们在类的方法里面找图片的时候,只是相对入口文件去找,否则就会找错人
4、thinkphp可以操作配置文件么?
可以,而且有助手函数config()可以很方便的操作,也可以动态的设置配置
系统定义了一个助手函数config
,以上可以简化为:
echo config('配置参数1');
二、thinkphp中入口文件的实质是什么
1、相关知识
1.入门
2.入口
3.配置
4.函数和类库
5.控制器
6.模型
7.视图
8.模板引擎
9.缓存
10.扩展类
11.附录
入门:
1.安装TP框架
2.目录结构
3.命名规范
4.MVC开发模式
1)M model(Model类)
2)V view(视图-模板)
3)C control(控制器)
5.开发流程
体验mvc开发模式
入口:
1.url
http://localhost/index.php/Index/index
http://localhost/index.php?m=Index&a=index
1)index.php 入口文件
2)Index 模板类文件-IndexAction.class.php
3)index 类方法-public function index(){}
2.C操作
$user=M('User'); //连接数据库
$rows=$user->select(); //查询数据,返回二维数组
$this->assign('rows',$rows); //给模板分配数组
$this->display(); //加载模板
3.V操作
<volist name='rows' id='row'>
<tr>
<td>{$row['id']}</td>
<td>{$row['username']}</td>
<td>{$row['password']}</td>
</tr>
</volist>
配置:
1.全局配置文件
mytp/ThinkPHP/Conf/convention.php:
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'mytp', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '123', // 密码
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 数据库表前缀
2.应用配置文件
mytp/Home/Conf/config.php:
'DB_NAME' => 'mytp2', // 数据库名
3.获取配置文件中的选项
echo C('DB_NAME');
thinkphp3.1课程 1-2 thinkphp中入口文件的实质是什么的更多相关文章
- ThinkPHP 中入口文件中的APP_DEBUG为TRUE时不报错,改为FALSE时报错
今天好不容易将一个新闻网做好了(ThinkPHP框架做的),但是,当我将入口文件中定义调试模式设为FALSE,即define('APP_DEBUG',False),然后再刷新网站的时候,就提示报错,报 ...
- thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式
thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式 一.总结 一句话总结:因为调试模式中会记录你所有的调试信息,比如a调用b,b调用c,c调用d,比如你从哪个数据库取 ...
- ThinkPHP3.2.3完整版创建前后台入口文件 http://jingyan.baidu.com/article/7e4409533fc1092fc1e2ef53.html
ThinkPHP3.2.3完整版创建前后台入口文件 1 2 3 4 5 6 7 分步阅读 ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的优秀的国产php框架,值得我们去探索学 ...
- ThinkPHP在入口文件中判断是手机还是PC端访问网站
<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE ...
- 【Thinkphp】入口文件和配置文件
一.入口文件 ThinkPHP采用单一入口模式进行项目部署和访问 入口文件代码 <?php define('APP_DEBUG',TRUE);//打开调试模式 在生产环境中应该关闭 define ...
- 在thinkphp中js文件添加路径
JS文件不认识__URL__这些tp独特的链接,所以要自己重新定义url,才能使用这些路径. 在js对于的模板上定义url 然后在js文件中引用
- thinkphp中JS文件不能写__ROOT__变量
如题 ,如果写了,就不能正确读取JS中的URL,
- 关于electron中入口文件main.js一些重要参数(持续更新maybe)
const {app, BrowserWindow} = require('electron') const path = require('path') let mainWindow functio ...
- Thinkphp中的 I 函数(Thinkphp3.2.3版本)
I 函数的作用是获取系统变量,必要时还可以对变量值进行过滤及强制转化,I 函数的语法格式: I('变量类型.变量名/修饰符',['默认值'],['过滤方法或正则'],['额外数据源']) 一.获取变量 ...
随机推荐
- [Servlet]研究ServletContext对象
作者信息 作者姓名:金云龙 个人站点:http://www.longestory.com 个人公众帐号:搜索"longestory"或"龙哥有话说" Servl ...
- android 获取蓝牙已连接设备
蓝牙如果手动配对并已连接,获取连接的设备: 1.检测连接状态: int a2dp = bluetoothAdapter.getProfileConnectionState(BluetoothProfi ...
- NPOI批量导入大量数据
简介:NPOI批量导入大量数据 使用SqlBulkCopy 可以将datatable里面的大量数据批量复制到数据库中,而不用担心性能问题,比系统中的传统做法(每20行数据执行一遍mydb.execut ...
- C++ 补课(一)
1,在C语言中,全局变量必须声明在所有的函数之前,局部变量必须声明在所有可执行语句之前: C++ 允许在代码块的任何位置对局部变量进行声明 2,常量定义方面,C语言 #define 可能因计算的优先级 ...
- POJ 1269 Intersecting Lines 直线交
不知道谁转的计算几何题集里面有这个题...标题还写的是基本线段求交... 结果题都没看就直接敲了个线段交...各种姿势WA一遍以后发现题意根本不是线段交而是直线交...白改了那个模板... 乱发文的同 ...
- 负载均衡之lvs
集群(cluster):将一组计算机软/硬件连接起来,高度紧密的协作完成计算工作,其中的单个计算机通常称为节点.负载均衡集群(Load Balancing):通过负载均衡器,将负载尽可能平均分摊处理. ...
- 几个不错的开源的.net界面控件
转自原文 几个不错的开源的.net界面控件 (转) 几个不错的开源的.net界面控件 - zt 介绍几个自己觉得不错的几个开源的.net界面控件,不知道是否有人介绍过. DockPanel Suite ...
- Struts2+Spring+Hibernate step by step 06 整合Hibernate
注:该系列教程.部分内容来自王健老师编写ssh整合开发教程 Hibernate是一款优秀的ORM(Object Relation Mapping-对象关系映射图)工具.与Struts.Spring项目 ...
- win8用久了变得非常慢, 磁盘占用100%
完美解决方式: 直接重装win7 完美解决这个问题 在网上查了非常久也没找到有效方法, 求教
- 26.event跨进程通信
以id创建事件 ] = "myevent"; HANDLE event = CreateEventA(NULL, FALSE, FALSE, name); 设置事件 SetEven ...