这是一个TP3.2的中度开发者的学习记录
TP5 安装过程
暂时只提供 官网下载 完整版的安装方法,并尽量调整到3.2的开发习惯,tp5需要在php5.4以上且非php6的环境运行。
// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';
- 修改
thinkphp/library/think/View.php
如下:
//原来这样
//'__STATIC__' => $root . '/static',
//‘__CSS__' => $root . '/static/css',
//'__JS__' => $root . '/static/js',
//改成这样
'__STATIC__' => $root . '/public/static',
'__CSS__' => $root . '/public/static/css',
'__JS__' => $root . '/public/static/js',
此时应该可以访问:
localhost/tp5
此链接等效于(与3.2类似)
localhost/tp5/index.php/Index/index
增加模块
模块增加暂时只知道用cmd的方法,如有新办法再补充,一般都是一开始cmd然后后面无限复制粘贴的了。
* 使用cmd 运行php环境,暂时只知道phpstudy的办法。

* 进入文件目录
cd WWW/tp5
php think build --module admin
增加控制器
控制器不再需要 [控制器名]Controller.class.php
的名字格式,直接使用[控制器名].php
并且在tp5/application/[模块]/controller
下。
例子:Index模块下新建User控制器
index
├─contorller 控制器目录
│ ├─Index.php index控制器
│ ├─User.php User控制器
...
新建:User.php (注意大写接全部小写!!!)
READ ME :浏览器访问控制器时
+ 会把任何驼峰语法全部转换成Aaaaa
的格式,所以文件尽量以第一个大写接全部小写来命名。
+ 会把 _
后面一个单词理解为大写 例如:abc_d
就会访问abcD.php
这个控制器。
NOTE:namespace 是由 app[模块 (注意小写)]\controller 组成的,并且Class [控制器名]与文件名是同步的
继承think\Controller 类
use think\Controller;
如果继承了think\Controller类的话,可以直接调用think\View及think\Request类的方法
public function index()
{
// 获取包含域名的完整URL地址
$this->assign('domain',$this->request->url(true));
return $this->fetch('index');
}
连接数据库
先跳出3.2的数据库思维,tp5提供更多对多数据库操作的支持。
### 方法1:在admin中新建 database.php
文件:
- 新建admin/database.php 并 配置数据库
NOTE:前缀只有在Db::name('user')这种使用情况下有效。
'mysql',
// 服务器地址
'hostname' => 'localhost',
// 数据库名
'database' => 'datadeal',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => 'root',
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀//前缀只有在Db::name('user')这种情况下有效
'prefix' => '',
// 数据库调试模式
'debug' => false,
];
?>
- 控制器进行数据库操作
##### NOTE:一定要调用think\Db类。
namespace app\admin\controller;
use Resportsale;
use think\Db;
class Datatransfer
{
public function test()
{
$shoplist=Db::query('select * from tao_orders_oneday_test where id=?',[1]);
var_dump($shoplist);
}
}
方法2:在配置文件中定义(多用于多数据库操作):
- 修改配置文件(admin/config.php)如下:
[
// 数据库类型
'type' => 'mysql',
// 服务器地址
// 'hostname' => 'rm-vy1g8bdkp31vzn2aj.mysql.rds.aliyuncs.com:3306',
'hostname' => 'localhost:3306',
// 数据库名
// 'database' => 'public_data',
'database' => 'jiexiu',
// 数据库用户名
// 'username' => 'jusr9mw7rezy',
'username' => 'root',
// 数据库密码
// 'password' => 'jsb869_MINI',
'password' => 'Janing351367',
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 't_',
// 数据库调试模式
'debug' => false,
]
];
?>
public function test()
{
$shoplist=Db::connect("db_typeA")->query('select * from t_user where id=?',[1]);
var_dump($shoplist);
}