1、修改应用根目录名称

(1)重新定义入口文件如下
namespace think;

// 定义应用目录
define('APP_PATH', __DIR__ . '/../app/');

// 加载基础文件
require __DIR__ . '/../thinkphp/base.php';

// 支持事先使用静态方法设置Request对象和Config对象

// 执行应用并响应
Container::get('app')->path(APP_PATH)->run()->send();
(2)think文件修改
namespace think;

// 加载基础文件
require __DIR__ . '/thinkphp/base.php';

// 应用初始化
Container::get('app')->path(__DIR__ . '/app/')->initialize();

// 控制台初始化
Console::init();

2、如果只有单模块,URL可以隐藏模块名
修改入口文件如下
Container::get('app')->bind('index')->run()->send();

3、多语言切换

(1)修改配置文件

// 是否开启多语言
'lang_switch_on' => true,
// 默认语言
'default_lang' => 'zh-cn',
//语音列表
'lang_list' => ['zh-cn','en-us'],

(2)设置语言的cookie保存变量,在公共函数文件添加如下

// 应用公共文件
think\facade\Lang::setLangCookieVar('think_lang');

(3)通过get传语言变量值设置cookie即可

4、静态代理Facade

魔术方法__callStatic()方法重载

call_user_func_array()调用回调函数,并把一个数组参数作为回调函数的参数

static::class

func_get_args()

最新文章

  1. 【流程管理】【PCB】PCB设计流程
  2. 因GIT默认忽略.dll文件导致的Visual Studio项目通过Bamboo编译失败
  3. 进程同步(二)—— 信号量&内存共享
  4. CSS text-indent
  5. apple ID的重要性
  6. 【jquery mobile笔记二】jquery mobile调用豆瓣api示例
  7. Matcher Pattern 正则表达式 示例
  8. Unity 之 Redux 模式(第二篇)—— Rigidbody 改造,摄像机控制
  9. tomcat源码分析(二)启动过程
  10. tomcat原理(三)结合公司tomcat的用法的在理解
  11. Activity 关于生命周期一些问题的实践验证
  12. PJSUA2开发文档--第十章 媒体质量(MEDIA QUALITY)
  13. django - 总结 - 跨域请求
  14. Android hook神器frida(二)
  15. 包的作用域(public、private)
  16. 利用UML语言建模--以图书馆管理系统为例
  17. 【python】理解循环:for,while
  18. [Link]Hive资料整理
  19. appium简明教程(3)——appium的安装windows版
  20. LA 4080 战争和物流(最短路树)

热门文章

  1. 理解JWT
  2. 2019-3-1-VisualStudio-扩展开发-获得输出窗口内容
  3. vue:使用不同参数跳转同一组件,实现动态加载图片和数据,以及利用localStorage和vuex持久化数据
  4. java中生成不重复随机的数字
  5. Windows API 第12篇 MoveFile
  6. element-ui 使用笔记
  7. python图像翻转
  8. CentOS 6.5 使用Apache的VirtualHost映射SVN端口
  9. Python爬虫笔记【一】模拟用户访问之webdriver用户登入——第三次(8)
  10. oracel 管理维护