Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)
Posted Rudon滨海渔村
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)相关的知识,希望对你有一定的参考价值。
步骤
- ssh user@ip-of-linux
- cd /var/www/
- mkdir xiazai.rudon.cn
- cd xiazai.rudon.cn/
- composer create-project topthink/think .
- <2021.4.26刚好发布了6.0版本,所以以上命令会创建6.0.7+的最新版本>
- 查看当前Thinkphp版本,cd到根目录
- <配置宝塔或其他服务器如apache等for xiazai.rudon.cn>
/etc/hosts添加127.0.0.1 xiazai.rudon.cn
/etc/apache2/sites-available/xxx写入
<VirtualHost *:80>
ServerName xiazai.rudon.cn
ServerAlias www.xiazai.rudon.cn
DocumentRoot /var/www/xiazai.rudon.cn/public
ErrorLog "/tmp/log/error_log"
CustomLog "/tmp/log/access_log" common
</VirtualHost>
重启服务器- <访问xiazai.rudon.cn,欢迎界面...>
- <准备修改 后台+前端>
后台 http://xiazai.rudon.cn/admin/
前端 http://xiazai.rudon.cn/
http://xiazai.rudon.cn/home/
- <省略URL里面的单入口"index.php">
修改/public/.htaccess文件,找到:
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
在index.php后面加一个问号,变成:
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]- <安装think-view模板引擎,默认是TP内置的PHP原生模板引擎>
ssh user@ip-of-linux
cd /var/www/xiazai.rudon.cn/
composer require topthink/think-view
Succeed!- <开启多应用模式(不用重新安装),默认是单应用模式>
ssh user@ip-of-linux
cd /var/www/xiazai.rudon.cn/
composer require topthink/think-multi-app
Succeed!
删掉/app目录下的controller文件夹;
删掉/app目录下所有的文件;- 【特别注意】
修改/config/app.php,添加一行:'auto_multi_app' => true
如果后续步骤的“添加不同的应用php think build {Name-of-APP}”报错或者无效的话,请删掉以上这一行:'auto_multi_app' => true。 亲测版本6.0.9就是不让加。- <添加不同的应用>
命令行cd到项目目录,每个应用各自运行一次:
php think build {Name-of-APP}
以后访问的地址就是:
http://domain.com/admin/index/index > 对应/app/admin/
http://domain.com/home/index/index > 对应/app/home/
http://domain.com/name-of-app/index/index > 对应/app/name-of-app/
以上首页可省略/index/index
- <假设>
1)在home应用,前台主要给用户书写自己的学习笔记,可查看+添加+删除;
2)在admin应用,后台负责管理所有用户的笔记信息,不合法的删除+警告;
3)账号登陆环节 暂时跳过。
4)设计URL格式如下:
5)http://xiazai.rudon.cn/home/note/ 显示全部已有笔记
6)http://xiazai.rudon.cn/home/note/add?userid=u1 新建,另外尝试URL传参
7)http://xiazai.rudon.cn/home/note/edit/1 修改#1笔记
8)http://xiazai.rudon.cn/home/note/delete/1 删#1笔记
9)http://xiazai.rudon.cn/home/note/read/1 查看#1笔记
10)http://xiazai.rudon.cn/admin/note/ 显示所有笔记
11)http://xiazai.rudon.cn/admin/note/read/1
12)http://xiazai.rudon.cn/admin/note/delete/1
13)http://xiazai.rudon.cn/admin/note/ok/1- 数据库设计如下:
CREATE TABLE `notes` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `uid` int(11) DEFAULT NULL, `title` varchar(300) DEFAULT NULL, `createDate` date DEFAULT NULL, `status` int(1) DEFAULT '2' COMMENT '0=Bad,1=Good,2=New', `orderBy` int(11) DEFAULT NULL, `content` longtext, `more` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
P.S.数据库远程连接管理 远程连接管理MySQL(解决腾讯云等cvm无法连接的问题)_Rudon滨海渔村的博客-CSDN博客
- <ThinkPHP6 配置mysql数据库>
修改/config/database.php,设置database、username、password等- <其他的一些设置>
①修改/config/app.php,
设置default_app(默认应用)为home、
设置show_error_msg(显示错误信息)为true等;
②修改/route/home/app.php,写入更多的路由,包括:
Route::get('home/:name', 'index/hello');
Route::get('hello/:name', 'index/hello');
- 开始首页 http://xiazai.rudon.cn/
全称:/应用home(来自default_app)/控制器index/类index/方法index
脚本:/app/home/controller/Index.php > Index{} > index()
输出:'您好!这是一个[home]示例应用' ok
现在开始,设置本应用home的前端模板嵌套,
1)创建/app/home/view/header.html,内容为<h2>Head-menu</h2>
2)创建/app/home/view/footer.html,内容为<h3>foot-links</h3>
3)创建/app/home/view/page.html,内容为4)在PHP脚本/app/home/controller/Index.php中,在namespace下面一行插入:use think\\facade\\View;<include file="Home:header" /> {__CONTENT__} <include file="Home:footer" />
调用模板:5)刷新,看到效果:public function index() { // 模板变量赋值 View::assign('name','ThinkPHP'); // 批量赋值 View::assign([ 'url' => 'https://xiazai.rudon.cn/home/note/', 'class' => 'fontsize40', 'code' => 'Login form ....' ]); // 模板输出 return View::fetch('page'); }
- 开始http://xiazai.rudon.cn/home/note/
全称:/应用home/控制器note/类index/方法index
脚本:/app/home/
5)http://xiazai.rudon.cn/home/note/ 显示全部已有笔记
6)http://xiazai.rudon.cn/home/note/add?userid=u1 新建,另外尝试URL传参
7)http://xiazai.rudon.cn/home/note/edit/1 修改#1笔记
8)http://xiazai.rudon.cn/home/note/delete/1 删#1笔记
9)http://xiazai.rudon.cn/home/note/read/1 查看#1笔记
10)http://xiazai.rudon.cn/admin/note/ 显示所有笔记
11)http://xiazai.rudon.cn/admin/note/read/1
12)http://xiazai.rudon.cn/admin/note/delete/1
13)http://xiazai.rudon.cn/admin/note/ok/1
未完待续
以上是关于Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)的主要内容,如果未能解决你的问题,请参考以下文章
tp6配置日志 - nginx下配置Thinkphp6网站 - tp6实现简单路由跳转
thinkphp session漏洞的修复解决办法(附代码分析与检测)
centos 7下配置mysql+php(ThinkPHP)+nginx