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. ios—项目开发需求文档

    电子商务产品项目需求方案 模块 标准 接入方式 后台(大致需求说明) 前端 购 实物 多商户接入,可支付商品: 基础功能 功能说明 所有须要 Lbs .城市选择,分享.商区.搜索.返回.关闭 LBS: ...

  2. Codeforces 429D Tricky Function 近期点对

    题目链接:点击打开链接 暴力出奇迹. 正解应该是近期点对.以i点为x轴,sum[i](前缀和)为y轴,求随意两点间的距离. 先来个科学的暴力代码: #include<stdio.h> #i ...

  3. 用Maven创建SpringMVC项目

    IDE:Eclipse Jee JDK:8 Tomcat:8 1.创建项目 File->New->Maven Project-> ->Next-> ->Next-& ...

  4. microsoft SQL server,错误2

    大二下開始学习数据库,一開始就把数据库装了,结果数据库第一节实验课就是教我们装数据库,而且要在自己机子上装,还要实验报告和截图.老师叫我把原本的卸载掉, 于是对着网上一系列的操作卸载server删除目 ...

  5. Ajax的跨域问题分析

    一.Ajax的跨域问题 Ajax是利用javascript内置XMLHttpRequest对象来进行传输的,所以它依赖于XMLHttpRequest对象,而XMLHttpRequest对象却有很多的限 ...

  6. 分享一段css代码学到的js知识

    [].forEach.call($$('*'),function(val){ val.style.outline = '1px solid #'+(~~(Math.random()*(1<< ...

  7. iOS QQ第三方登实现

    我们常常会见到应用登陆的时候会有QQ,微信,微博等的第三方登陆 如图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHdqb2syMDA3/font/5 ...

  8. MFC中对话框的各种消息触发时间

    小结:WM_CREATE是所有窗口都能响应的消息,表明本窗口已经创建完毕.可以安全的使用这个窗口了,例如在它上面画控件等等.这个状态肯定是在调用ShowWindows()显示窗口之前.WM_WM_IN ...

  9. JS正则 replace()方法全局替换变量(可以对变量进行全文替换)

    转至:https://www.cnblogs.com/jasonlam/p/7070604.html var text = "饿~,23333.饿~,测试yongde"; var ...

  10. git 常用命令(分支)

    查看分支 git branch -r 修改分支名字dev-->test git branch -m dev test 切换分支dev git checkout dev 创建本地分支dev git ...