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. C# 插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序

    C# 插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序 以下列出了数据结构与算法的八种基本排序:插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序 ...

  2. js --- 递归结构图

    // 用递归 来求 5 的阶乘 // n! = n * (n-1)! // 定义一个函数,用于求 n 的阶乘 function func(n) { ) { ; } // func(n-1) 因为传递的 ...

  3. vue中的插槽slot理解

    本篇文章参考赛冷思的个人博客 1.函数默认传参 在我们写js函数我们的可能会给他们一个默认的参数,写法是 function show(age,name){ var age = age || 20; v ...

  4. 在windows上面安装并用jupyter运行pyspark

    1,下载hadoop  winutils 设置HADOOP_HOME 2.下载spark,设置SPARK_HOME,将%SPARK_HOME%/加入到PATH路径下 3.安装Anaconda 就是py ...

  5. vue 实例的生命周期

      Vue把整个生命周期划分为创建.挂载.更新.销毁等阶段,每个阶段都会给一些"钩子"让我们来做一些我们想实现的动作. 分为以下几个阶段 1.beforeCreate   此阶段为 ...

  6. Eclipse怎样把文件系统形式的项目作为工程直接导入?

    导入的时候,选择已经存在的工程,如果选择文件系统,可能会提示没有项目可以导入.这个时候,可以从其它Eclipse项目下,copy一份.project文件过来,修改源文件中的工程名字.如果需要,也可以c ...

  7. sim800c GPRS模块的透传模式

    一.透传模式 基于sim800c GPRS模块在建立TCP/IP连接情况下,可以设置进入透传模式,用来接收和发送数据,一旦进入即从串口收到的数据将被打包,然后发送.接收同理. 注意在透传模式下所有的A ...

  8. iOS_31_cocos2d_微信飞机

    终于效果图: 纹理素材 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400 ...

  9. ubuntu16 升级后找不到 eth0 网卡 的解决方法

    ubuntu16 升级后找不到 eth0 网卡 的解决方法 今天在VPS上一时手痒,执行了升级命令 apt-get update 更新软件包索引,源 apt-get upgrade 更新软件包 apt ...

  10. 公众平台调整SSL安全策略,请开发者注意升级

    公众平台调整SSL安全策略,请开发者注意升级 近一段时间HTTPS加密协议SSL曝出高危漏洞,可能导致网络中传输的数据被黑客监听,对用户信息.网络账号密码等安全构成威胁.为保证用户信息以及通信安全,微 ...