think-swoole 热更新 阿里云镜像 单应用和多应用 多应用自定义路由 自定义入口文件(应用映射) 应用域名绑定 debug开启

1.热更新

由于Swoole服务运行过程中PHP文件是常驻内存运行的,这样可以避免重复读取磁盘、重复解释编译PHP,以便达到最高性能。所以更改业务代码后必须手动reload或者restart才能生效。

think-swoole扩展提供了热更新功能,在检测到相关目录的文件有更新后会自动reload,从而不需要手动进行reload操作,方便开发调试。

如果你的应用开启了调试模式,默认是开启热更新的。原则上,在部署模式下不建议开启文件监控,一方面有性能损耗,另外一方面对文件所做的任何修改都需要确认无误才能进行更新部署。
配置文件在app 下面的swoole.php enable 参数
如果想读配置文件就是修改
当我们在应用的根目录下定义一个特殊的.env环境变量文件,里面设置了APP_DEBUG = true会默认开启热更新,你也可以直接把enable设置为true。
就是有个根目录文件是.example.env 改成 .env 就会读这里面的配置
热更新的理解就是swoole会把第一次的文件放在缓存中,往后就会读缓存,如果有更改要先停止swoole再开启,而热更新是每次都重新读取,建议在调试中开启,在正式关闭,这样快。
swoole.php 下面的include参数是 只会热更新的目录,如果想加别的,需要再加。默认是app目录

参数 说明
enable 是否开启热更新
name 简单点说就是监控那些类型的文件变动
include 简单点说就是监控那些路径下的文件变动
exclude 排除目录

阿里云镜像

由于众所周知的原因,国外的网站连接速度很慢。因此安装的时间可能会比较长,我们建议使用国内镜像(阿里云)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

剩下的看手册

单应用

1.单应用模式下想使用多模块的使用(多应用)
1.先修改配置文件
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]   注释这个下面加上
			  RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
			 	</IfModule>

之后cd根目录
php think make:controller admin/Index
这个就是建一个admin下面的index控制器
访问路径是 http://127.0.0.1/tp/public/admin.index/index
php think make:controller index/Index
这个就是建一个index(应用)下面的index控制器
访问路径是 http://127.0.0.1/tp/public/index.index/index
这样就有前后台了 正常情况下还有个api应用
php think make:controller api/Index
访问路径 : http://域名/应用/控制器/方法/参数/值/参数值?参数=值&参数=值

多应用

如果要使用多应用模式,你需要安装多应用模式扩展think-multi-app。

composer require topthink/think-multi-app
之后删除app/下面的controller目录
cd 项目根目录
php think make:controller admin@Index
php think make:controller home@Index
php think make:controller common@Admin
php think make:controller common@Home
php think make:controller 应用名@控制器 多应用

php think make:controller home@User
访问的路径是 http://127.0.0.1/tp/public/home/user/index
访问路径 http://域名/应用/控制器/方法/参数/值/参数值?参数=值&参数=值

多应用模式下的自定义路由

	1.在想使用路由的应用下新建route目录
	2.在route目录下新建route.php
	例:在admin应用下建路由
		/app/admin/新建route目录
		route目录下新建route.php
			<?php
					use think\facade\Route;
						//访问arcadd时跳到 当前应用下的article/add
					Route::get('arcadd', 'article/add');
访问地址是 http://127.0.0.1/tp/public/admin/arcadd
访问地址http://域名/应用名/arcadd
#在多应用的情况下是不能省去应用名的   (如果说想多应用下不显示应用名可使用域名绑定 --- 请查看域名绑定)

自定义入口文件-隐藏应用名(/应用映射-自动多应用模式有效)

	根目录下的config/app.php 
 // 应用映射(自动多应用模式有效) 访问adminxx到admin应用
		'app_map'          => [
			//   '自定义名称' => '真实应用名'
		    'adminxx' => 'admin'
		],
访问地址   http://127.0.0.1/tp/public/adminxx/arcadd
这样的话就只能用adminxx访问不能直接用admin访问

如果说想多应用下不显示应用名可使用域名绑定

域名绑定

	根目录下的config/app.php 
	
		// 域名绑定(自动多应用模式有效)
		'domain_bind'      => [
		   // 绑定的域名       指向的应用
			‘aa.test.com’ => 'admin'
		],

访问路径  http://aa.test.com/    这样就是访问到admin应用下
访问路径  http://aa.test.com/控制器/方法
自动多应用路由不用输入admin    直接就是http://aa.test.com/arcadd

debug开启

根目录下面  .example.env  改成 .env 就会走这个配置文件   里面debug默认是开启的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值