ThinkPHP6 изначально создает сервис API

ThinkPHP

ThinkPHP6 был официально выпущен в течение короткого периода времени, и он практиковался в соответствии с официальной документацией. Я также столкнулся с некоторыми небольшими проблемами в середине, и мне потребовалось некоторое время, чтобы найти решения в Интернете. Этот общий доступ организует подробные этапы развертывания ThinkPHP6 с нуля, надеясь помочь вам сэкономить время на изучение.

1 Скачать Композитор

Composer — это инструмент, используемый PHP для управления зависимостями.

версия для винды 1.1

ссылка для скачивания:getcomposer.org/

Если сообщается об ошибке:

Program Output:
PHP Deprecated:  Directive 'track_errors' is deprecated in Unknown on line 0

Затем измените php.ini:

;track_errors = On (On改为Off)
track_errors = Off

После перезапуска службы HTTP установка прошла.

1.2 версия для macOS

воплощать в жизнь:

curl -sS https://getcomposer.org/installer | php

Если вы ошибетесь, вы не сможете завершить загрузку:

Failed to decode zlib stream

Перейти непосредственно на официальный сайт (getcomposer.org/download/) Загрузите последнюю версию composer.phar

После загрузки выполните в каталоге, где хранится composer.phar:

mv composer.phar /usr/local/bin/composer

Затем вы можете использовать композитор глобально, выполните следующую команду, чтобы проверить номер версии:

composer -v

2 Установите/обновите ThinkPHP6

Выполните следующую команду, чтобы переключиться на ускоренную загрузку изображений Alibaba Cloud:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

Выберите каталог и выполните:

composer create-project topthink/think projectName

После установки перейдите в каталог проекта и выполните:

php think run

Доступ через браузер:

http://localhost:8000/

Чтобы изменить порт, выполните:

php think run -p 80

Обновите ThinkPHP6, войдите в корневой каталог проекта и выполните:

composer update

При фактическом развертывании он должен быть привязан к имени домена для доступа к общедоступному каталогу, чтобы гарантировать, что другие каталоги не находятся в каталоге WEB.

3 Режим отладки

Корневой каталог переименовываем в .Env, устанавливаем следующий код:

 APP_DEBUG = true

4 Развертывание нескольких приложений

Структура каталогов

/www  WEB部署目录(或者子目录)
├─ /app                  应用目录
│  ├─ /myApp             子应用目录
│  │  ├─common.php       子应用函数文件
│  │  ├─/controller      子应用控制器目录
│  │    ├─Index.php     子应用控制器
│  │  ├─/model           子应用模型目录
│  │  ├─/view            子应用视图目录
│  │  ├─/config          子应用配置目录
│  │  ├─/route           子应用路由目录
│  │  └─ ...             子应用更多类库目录
│  │
|  ├─BaseController.php  默认基础控制器类
│  ├─common.php          公共函数文件
│  ├─event.php           事件定义文件
|  ├─ExceptionHandle.php 应用异常定义文件(一定要保留这个!否则ERROR 500)
|  |─middleware.php      全局中间件定义文件
│  ├─provider.php        服务提供定义文件
|  └─Request.php         应用请求对象(一定要保留这个!否则ERROR 500)

Расширение think-multi-app в режиме нескольких приложений

Чтобы использовать режим нескольких приложений, необходимо установить think-multi-app.Выполните следующую команду в корневом каталоге проекта для установки:

composer require topthink/think-multi-app

Изменить путь к контроллеру

Откройте app/myApp/controller/Index.php и настройте пространство имен.

-   namespace app\controller;
+   namespace app\myApp\controller;
    use app\BaseController;

Затем вы можете получить к нему доступ через службу http:

http://127.0.0.1/thinkphp6/public/index.php/myApp

перезапись URL

Если вы хотите опустить index.php, вы можете получить к нему доступ следующим образом.

http://127.0.0.1/thinkphp6/public/myApp

Добавьте в паблик/.htaccess:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

Перезапись URL завершена установкой по умолчанию официального композитора, здесь только памятка.

5 многоуровневый контроллер

Структура каталогов следующая:

├─ /app                  应用目录
│  ├─ /myApp             子应用目录
│  │  ├─/controller      子应用控制器目录
│  │    ├─/api           二级控制器目录
│  │      ├─/Login.php   二级控制器

Логин.php код:

<?php
namespace app\myApp\controller\api;

use app\BaseController;

class Login extends BaseController
{
    public function index()
    {
        return '二级控制器Login';
    }
}

После настройки к нему можно получить доступ по следующему URL-адресу:

http://127.0.0.1/thinkphp6/public/myApp/api/login

Автоматически создавать контроллеры API

Контроллер также может быть сгенерирован автоматически из командной строки, а вновь сгенерированный контроллер содержит предустановленный код. Выполнить в корневом каталоге:

php think make:controller app\myApp\controller\api\Login --api

Благодаря приведенным выше настройкам самое простое развертывание ThinkPHP6 в основном завершено. Чтобы узнать больше о разработке приложений, ознакомьтесь с официальной документацией:Woohoo. Видите лазейки. Может /ручной/тонкий…

Приветствую внимание на моем личном общедоступном микроканале, не стесняйтесь получать последние статьи ^ _ ^