Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)

Posted Rudon滨海渔村

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下简单创建ThinkPHP 6.0的网站 - 简单前后端 (未完待续)相关的知识,希望对你有一定的参考价值。

步骤

  1. ssh user@ip-of-linux
  2. cd /var/www/
  3. mkdir xiazai.rudon.cn
  4. cd xiazai.rudon.cn/
  5. composer create-project topthink/think .
  6. <2021.4.26刚好发布了6.0版本,所以以上命令会创建6.0.7+的最新版本>
  7. 查看当前Thinkphp版本,cd到根目录
  8. <配置宝塔或其他服务器如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>
    重启服务器
  9. <访问xiazai.rudon.cn,欢迎界面...>
  10. <准备修改 后台+前端>
    后台 http://xiazai.rudon.cn/admin/
    前端 http://xiazai.rudon.cn/
            http://xiazai.rudon.cn/home/
     
  11. <省略URL里面的单入口"index.php">
    修改/public/.htaccess文件,找到:
    RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
    在index.php后面加一个问号,变成:
    RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
  12. <安装think-view模板引擎,默认是TP内置的PHP原生模板引擎>
    ssh user@ip-of-linux
    cd /var/www/xiazai.rudon.cn/
    composer require topthink/think-view
    Succeed!
  13. <开启多应用模式(不用重新安装),默认是单应用模式>
    ssh user@ip-of-linux
    cd /var/www/xiazai.rudon.cn/
    composer require topthink/think-multi-app
    Succeed!
    删掉/app目录下的controller文件夹;
    删掉/app目录下所有的文件;
  14. 特别注意
    修改/config/app.php,添加一行:'auto_multi_app'   => true
    如果后续步骤的“添加不同的应用php think build {Name-of-APP}”报错或者无效的话,请删掉以上这一行:'auto_multi_app'   => true。 亲测版本6.0.9就是不让加。
  15. <添加不同的应用>
    命令行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
     
  16. <假设>
    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
  17. 数据库设计如下:
    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博客

  18. <ThinkPHP6 配置mysql数据库>
    修改/config/database.php,设置database、username、password等
  19. <其他的一些设置>
    ①修改/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');

     
  20. 开始首页 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,内容为
    <include file="Home:header" />
     {__CONTENT__}
    <include file="Home:footer" />
    4)在PHP脚本/app/home/controller/Index.php中,在namespace下面一行插入:use think\\facade\\View;
    调用模板:
    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');
    }
    5)刷新,看到效果:
     
  21. 开始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漏洞的修复解决办法(附代码分析与检测)

ThinkPHP6.0在phpstudy下配置网站域名

centos 7下配置mysql+php(ThinkPHP)+nginx

Linux 下 ---ThinkPHP 图片上传提示:上传根目录不存在!请尝试手动创建

WCF 不在 IIS 6.0 下运行