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、相关知识

ThinkPHP框架:
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中入口文件的实质是什么的更多相关文章

  1. ThinkPHP 中入口文件中的APP_DEBUG为TRUE时不报错,改为FALSE时报错

    今天好不容易将一个新闻网做好了(ThinkPHP框架做的),但是,当我将入口文件中定义调试模式设为FALSE,即define('APP_DEBUG',False),然后再刷新网站的时候,就提示报错,报 ...

  2. thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式

    thinkphp3.1课程 1-1 为什么thinkphp在开发好后需要关掉开发模式 一.总结 一句话总结:因为调试模式中会记录你所有的调试信息,比如a调用b,b调用c,c调用d,比如你从哪个数据库取 ...

  3. ThinkPHP3.2.3完整版创建前后台入口文件 http://jingyan.baidu.com/article/7e4409533fc1092fc1e2ef53.html

    ThinkPHP3.2.3完整版创建前后台入口文件   1 2 3 4 5 6 7 分步阅读 ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的优秀的国产php框架,值得我们去探索学 ...

  4. ThinkPHP在入口文件中判断是手机还是PC端访问网站

    <?php// +----------------------------------------------------------------------// | ThinkPHP [ WE ...

  5. 【Thinkphp】入口文件和配置文件

    一.入口文件 ThinkPHP采用单一入口模式进行项目部署和访问 入口文件代码 <?php define('APP_DEBUG',TRUE);//打开调试模式 在生产环境中应该关闭 define ...

  6. 在thinkphp中js文件添加路径

    JS文件不认识__URL__这些tp独特的链接,所以要自己重新定义url,才能使用这些路径. 在js对于的模板上定义url 然后在js文件中引用

  7. thinkphp中JS文件不能写__ROOT__变量

    如题 ,如果写了,就不能正确读取JS中的URL,

  8. 关于electron中入口文件main.js一些重要参数(持续更新maybe)

    const {app, BrowserWindow} = require('electron') const path = require('path') let mainWindow functio ...

  9. Thinkphp中的 I 函数(Thinkphp3.2.3版本)

    I 函数的作用是获取系统变量,必要时还可以对变量值进行过滤及强制转化,I 函数的语法格式: I('变量类型.变量名/修饰符',['默认值'],['过滤方法或正则'],['额外数据源']) 一.获取变量 ...

随机推荐

  1. [Servlet]研究ServletContext对象

    作者信息 作者姓名:金云龙 个人站点:http://www.longestory.com 个人公众帐号:搜索"longestory"或"龙哥有话说" Servl ...

  2. android 获取蓝牙已连接设备

    蓝牙如果手动配对并已连接,获取连接的设备: 1.检测连接状态: int a2dp = bluetoothAdapter.getProfileConnectionState(BluetoothProfi ...

  3. NPOI批量导入大量数据

    简介:NPOI批量导入大量数据 使用SqlBulkCopy 可以将datatable里面的大量数据批量复制到数据库中,而不用担心性能问题,比系统中的传统做法(每20行数据执行一遍mydb.execut ...

  4. C++ 补课(一)

    1,在C语言中,全局变量必须声明在所有的函数之前,局部变量必须声明在所有可执行语句之前: C++ 允许在代码块的任何位置对局部变量进行声明 2,常量定义方面,C语言 #define 可能因计算的优先级 ...

  5. POJ 1269 Intersecting Lines 直线交

    不知道谁转的计算几何题集里面有这个题...标题还写的是基本线段求交... 结果题都没看就直接敲了个线段交...各种姿势WA一遍以后发现题意根本不是线段交而是直线交...白改了那个模板... 乱发文的同 ...

  6. 负载均衡之lvs

    集群(cluster):将一组计算机软/硬件连接起来,高度紧密的协作完成计算工作,其中的单个计算机通常称为节点.负载均衡集群(Load Balancing):通过负载均衡器,将负载尽可能平均分摊处理. ...

  7. 几个不错的开源的.net界面控件

    转自原文 几个不错的开源的.net界面控件 (转) 几个不错的开源的.net界面控件 - zt 介绍几个自己觉得不错的几个开源的.net界面控件,不知道是否有人介绍过. DockPanel Suite ...

  8. Struts2+Spring+Hibernate step by step 06 整合Hibernate

    注:该系列教程.部分内容来自王健老师编写ssh整合开发教程 Hibernate是一款优秀的ORM(Object Relation Mapping-对象关系映射图)工具.与Struts.Spring项目 ...

  9. win8用久了变得非常慢, 磁盘占用100%

    完美解决方式:  直接重装win7 完美解决这个问题 在网上查了非常久也没找到有效方法, 求教

  10. 26.event跨进程通信

    以id创建事件 ] = "myevent"; HANDLE event = CreateEventA(NULL, FALSE, FALSE, name); 设置事件 SetEven ...