ThinkPHP 学习笔记

安装与配置

单一入口

访问网站应用程序时,所有的请求都指向同一个文件.

好处:
项目结构规范,控制灵活,而且也更加安全.

文件夹

Appliication 相当于一个网站 可以有多个

Public 多个网站会有公共资源 这些公共资源就放在Public里面 比如图标等

ThinkPHP 框架目录,框架的核心程序包

.htaccess 用于伪静态的配置文件

index.php 入口文件,所有程序都通过这里访问

/Application/Home 主模块 包含MVC

index.php

1.define(‘APP_DEBUG’, true); 开启调试模式,开发阶段开启,开发结束后要去关闭

2.define(‘APP_PATH’, ‘./Application/’) 定义应用程序

3.require ‘./ThinkPHP/ThinkPHP.php’; 引入ThinkPHP入口文件

4.如果想按照自己的意愿设置应用目录名称,可以修改成这样
define(‘APP_PATH’, ‘./save/’);

5.默认会生成一个防止看结构目录的index.html 也可以自己修改.

define('DIR_SECURE_FILENAME', 'default.html'); 不建议修改

define('DIR_SECURE_CONTENT', '目录禁止');  可以填充文字

运行流程

  1. 加载thinkPHP.php
    require (‘./ThinkPHP/ThinkPHP.php’);

2.加载核心文件

通过URL访问控制器的方法

http://www.save.com/index.php?m=Home&c=Index&a=test

其中,m代表模块 c代表控制器  a代表方法

Nginx好像默认不支持pathinfo模式,但可以修改nginx.conf文件来达到目的.

模块化和URL模式

模块化

之前将Admin与Save当成了两个应用程序,也就是两个站.

但实际上这两个应该合起来成为一个站,因此需要模块化.

将Home模块复制一份,改名字为Admin模块,发现并不能访问,

排查原因,是命名空间的问题,将命名空间改成Admin\Controller 即可.

可以通过配置来控制 禁止访问哪些模块 和 允许访问哪些模块.

可以设置默认访问的模块,以及设置单模块

多入口模块

新建一个admin.php入坑模块

输入
// 定义应用目录
define(‘APP_PATH’, ‘./Save/’);
//加载Admin模块

    $_GET['m'] = 'Admin';  //这句好像是3.2.2版本的.
    $_GET['c'] = 'Index';  //默认指定控制器.可以不指定.
    $_GET['s'] = 浏览器的URI.  这样可以写的时候可以不加s=
define('BIND_MODULE','Admin');

// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';

URL模式.

PATH_INFO 默认分隔符是/ 可以修改

'URL_PATHINFO_DEPR' => '_'

m c a 也是可以改的. 叫做修改键的名称

'VAR_MODULE' => 'mm',
'VAR_CONTROLLER' => 'cc',
'VAR_ACTION' => 'aa'

URL 重写 看手册. 可以省去index.php

模型初步

基类模型

$user = new Model(‘[moode_table]’,’[表前缀]’,’[数据库连接信息]’); //这里的表前缀,会覆盖掉配置的表前缀.

使用new Model的方法 还需要导入命名空间.

$user = M(‘User’); //使用M的方法 不需要导入命名空间

$user = new UserModel(); 这个写法是与User表直接对应的.

使用M()方法的时候,不会去加载具体的模型类,只是加载Model基类.

使用D()方法,能够加载具体的模型类

1.而且,在当前模块找不到该模型类时,会去Common/Model/找.

2.如果这里也找不到,会直接实例Model基类,相当于M();

3.也可以跨模块调用.D('Admin/User');

4.想要使用原生的SQL,只需要调用空的M方法. 

    $user = M();
    print_r($user -> query('SELECT * FROM user'));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值