ThinkPHP crée initialement un service API (étapes détaillées)
本篇文章整理了ThinkPHP6从头开始部署的详细操作步骤,希望能够帮助大家节省探索的时间,对大家有帮助。
1 下载Composer
Composer是 PHP 用来管理依赖(dependency)关系的工具。
1.1 windows版本
下载地址: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了,执行以下命令查看版本号:
composer -v
2 安装/升级ThinkPHP6
执行以下命令,切换为阿里云镜像加速下载:
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
实际部署中,应该是绑定域名访问到public目录,确保其它目录不在WEB目录下面。
3 配置调试模式
根目录下的.example.env重命名为.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
- 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
在public/.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>
通过官方composer默认安装已经完成了URL重写,这里仅做备忘。
5 多级控制器
目录结构如下:
├─ /app 应用目录 │ ├─ /myApp 子应用目录 │ │ ├─/controller 子应用控制器目录 │ │ ├─/api 二级控制器目录 │ │ ├─/Login.php 二级控制器
Login.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的最基础部署。
(推荐学习:thinkphp5)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Cet article montre la création d'applications de ligne de commande (CLI) en utilisant les capacités CLI de ThinkPhp. Il met l'accent sur les meilleures pratiques telles que la conception modulaire, l'injection de dépendance et la gestion des erreurs robuste, tout en mettant en évidence les pièges communs tels que INSU

L'article traite des considérations clés pour l'utilisation de ThinkPHP dans des architectures sans serveur, en se concentrant sur l'optimisation des performances, la conception sans état et la sécurité. Il met en évidence des avantages tels que la rentabilité et l'évolutivité, mais relève également des défis

Le conteneur IOC de ThinkPhp propose des fonctionnalités avancées comme le chargement paresseux, la liaison contextuelle et l'injection de méthode pour une gestion efficace des dépendances dans les applications PHP. COMMANDE CHARACTER: 159

L'article discute de la prévention des vulnérabilités d'injection SQL dans ThinkPhP à travers des requêtes paramétrées, en évitant le SQL brut, en utilisant ORM, des mises à jour régulières et une bonne gestion des erreurs. Il couvre également les meilleures pratiques pour sécuriser les requêtes de base de données et le validat

L'article décrit la création d'un système de file d'attente de tâches distribué à l'aide de ThinkPhp et RabbitMQ, en se concentrant sur l'installation, la configuration, la gestion des tâches et l'évolutivité. Les problèmes clés incluent assurer la haute disponibilité, éviter les pièges communs comme Imprope

L'article traite du cadre de test intégré de ThinkPhP, mettant en évidence ses principales fonctionnalités telles que les tests d'unité et d'intégration, et comment il améliore la fiabilité des applications grâce à la détection précoce des bogues et à une meilleure qualité de code.

L'article traite des différences clés entre ThinkPHP 5 et 6, en se concentrant sur l'architecture, les fonctionnalités, les performances et l'adéquation pour les mises à niveau héritées. ThinkPhp 5 est recommandé pour les projets traditionnels et les systèmes hérités, tandis que ThinkPhp 6 convient au nouveau PR

L'article discute de la mise en œuvre de la découverte de services et de l'équilibrage des charges dans les microservices ThinkPHP, en se concentrant sur la configuration, les meilleures pratiques, les méthodes d'intégration et les outils recommandés. [159 caractères]
