代码改变世界

thinkphp5 第2课:使用tp5输出hello world

2020-11-28 09:59  idea555  阅读(358)  评论(0)    收藏  举报

首次安装完tp5,运行http://127.0.0.1/tp5/public/index.php

结果如下:

如何输出hello world呢,我们该从何处入手呢?

首先,我们打开public目录下的index.php文件,只有两行代码:

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');
// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

这两行代码暂时不要动,真正需要改写的文件是application\index\controller\Index.php,见下图:

打开这个文件,会发现这些代码:

  1.  
    <?php
  2.  
    namespace app\index\controller;
  3.  
     
  4.  
    class Index
  5.  
    {
  6.  
    public function index()
  7.  
    {
  8.  
    return '<style type="text/css">*{ padding: 0; margin: 0; } .think_default_text{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p> ThinkPHP V5<br/><span style="font-size:30px">十年磨一剑 - 为API开发设计的高性能框架</span></p><span style="font-size:22px;">[ V5.0 版本由 <a href="http://www.qiniu.com" target="qiniu">七牛云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="https://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="ad_bd568ce7058a1091"></think>';
  9.  
    }
  10.  
    }

这里定义了一个Index类,我们把代码改写如下:

  1.  
    <?php
  2.  
    namespace app\index\controller;
  3.  
     
  4.  
    class Index
  5.  
    {
  6.  
    public function index()
  7.  
    {
  8.  
    echo 'hello world';
  9.  
    }
  10.  
    }

运行结果就会变成hello world

我们讲解TP5的运行原理,当输入 http://127.0.0.1/tp5/public/index.php,程序会运行index模块中的index控制器的index方法。

在TP5中的配置文件中,指定了默认的模块、控制器和方法,见application目录下的config.php文件,找到以下代码:

  1.  
    // +----------------------------------------------------------------------
  2.  
    // | 模块设置
  3.  
    // +----------------------------------------------------------------------
  4.  
     
  5.  
    // 默认模块名
  6.  
    'default_module' => 'index',
  7.  
    // 禁止访问模块
  8.  
    'deny_module_list' => ['common'],
  9.  
    // 默认控制器名
  10.  
    'default_controller' => 'Index',
  11.  
    // 默认操作名
  12.  
    'default_action' => 'index',
  13.  
    // 默认验证器
  14.  
    'default_validate' => '',
  15.  
    // 默认的空控制器名
  16.  
    'empty_controller' => 'Error',
  17.  
    // 操作方法后缀
  18.  
    'action_suffix' => '',
  19.  
    // 自动搜索控制器
  20.  
    'controller_auto_search' => false,

其中default_module,default_controller,default_action 已经设置好默认的模块、控制器和方法,当我们输入的url中缺少这些时,就会使用默认值。

输入http://127.0.0.1/tp5/public/index.php 和输入 http://127.0.0.1/tp5/public/index.php/index/index/index 结果是一样的。

 我们在index控制器添加一个方法,见下面代码:

  1.  
    <?php
  2.  
     
  3.  
    namespace app\index\controller;
  4.  
     
  5.  
    class Index
  6.  
    {
  7.  
    public function index()
  8.  
    {
  9.  
    echo 'hello world';
  10.  
    }
  11.  
     
  12.  
    public function show()
  13.  
    {
  14.  
    echo '欢迎学习TP5';
  15.  
    }
  16.  
    }

在浏览器输入http://127.0.0.1/tp5/public/index.php/index/index/show

运行结果: