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()

thinkphp5.1学习总结的更多相关文章

  1. thinkphp5.1学习笔记

    由于新公司使用的框架是thinkphp5.1,有必要进一步学习,看来我要把php框架使用完全了,之前就用过laravel和CI框架了. 现在打算只是一个学习的记录,结构会比较凌乱,基本我估计只能自己看 ...

  2. ThinkPHP5.1学习笔记 数据库操作

    数据库 参见<Thinkphp5.1完全开发手册>学习 Mirror王宇阳 数据库连接 ThinkPHP采用内置抽象层对数据库操作进行封装处理:且基于PDO模式,可以适配各种数据库. 数据 ...

  3. thinkphp5.0学习笔记(二)

    本文为公司制作API接口后台的小结! 1.命名注意事项: 不要使用易混淆的名字,如index,index01... 我喜欢用拼音... 比如: public function zhuce(Reques ...

  4. thinkphp5.0学习笔记(三)获取信息,变量,绑定参数

    1.构造函数: 控制器类必须继承了\think\Controller类,才能使用: 方法_initialize 代码: <?php namespace app\lian\controller; ...

  5. thinkphp5.0学习笔记

    2019-11-11学习笔记 安装TP5.0 a)源代码包下载 在thinkphp官网下载(www.thinkphp.cn)下载 完整版本的TP5.0 b) composer 安装 切换到网站的根目录 ...

  6. thinkphp5.0学习笔记(二)API后台处理与命名空间

    命名空间 先来看命名空间吧: 命名空间是学习TP的基础, <?php namespace app\lian\c1; class yi{ public $obj = "这是第一个空间里面 ...

  7. ThinkPHP5.0学习1 — 命名空间

    定义命名空间:namespace sp1: 访问命名空间:\sp1\somefunction(); 非限定名称访问方式     //访问当前命名空间内容:somefunction(); 限定名称访问方 ...

  8. thinkphp5.0学习笔记(四)数据库的操作

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.采用PDO ...

  9. ThinkPHP5基础学习(慕课版)

    一.thinkphp 5.0 的安装及配置 二.URL和路由 三.请求和相应 四.视图和模板 五.数据库的操作 六.模型的操作

  10. ThinkPHP5基础学习

    一.目录与文件结构 二.控制器 三.数据库 四.模型 五.模板

随机推荐

  1. Android 开发 DNK开发将.c文件打包成os

    前言 不废话太多,Java与C之间联系的JNI的概念,这个要了解可以参考下面这个博客: https://www.jianshu.com/p/87ce6f565d37 此博客只说明如何将.C文件通过ND ...

  2. wc,sort,uniq,awk,grep

    wc awk, sort, uniq grep

  3. mac上开启22号端口

    在苹果maC系统SSH 远程登录服务器,采用默认22端口,登录出现了以下的提示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  4. set_clock_latency

    set_clock_latancy用于定于虚拟时钟与真实时钟的延时 考虑最糟糕的情况,评估setup时数据会使用最大延时,时钟使用最小延时:评估hold时,数据使用最小延时,时钟使用最大延时.

  5. day21 作业

    1.定义MySQL类 1.对象有id.host.port三个属性 2.定义工具create_id,在实例化时为每个对象随机生成id,保证id唯一 3.提供两种实例化方式,方式一:用户传入host和po ...

  6. QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: 设备上没有空间

    解决办法: 添加最大监控文件数量 临时解决:(重启之后恢复) 命令设置:sudo sysctl fs.inotify.max_user_watches=524288 生效: sudo sysctl - ...

  7. 深入浅出 Java Concurrency (20): 并发容器 part 5 ConcurrentLinkedQueue[转]

    ConcurrentLinkedQueue是Queue的一个线程安全实现.先来看一段文档说明. 一个基于链接节点的无界线程安全队列.此队列按照 FIFO(先进先出)原则对元素进行排序.队列的头部 是队 ...

  8. Python实例3-字符图网格

    假定有一个列表的列表, 内层列表的每个值都是包含一个字符的字符串, 像这样: grid = [['.', '.', '.', '.', '.', '.'], ['.', 'O', 'O', '.', ...

  9. MySQL示例数据导入

    从官网下载示例数据,参考压缩文件中的README.txt,整理所得 /******************* 示例数据导入 *******************/ /** 官网下载 http://d ...

  10. Spring学习:程序的耦合和解耦的思路分析

    程序的耦合 耦合:程序间的依赖关系 包括: 类之间的依赖 方法间的依赖 解耦: 降低程序间的依赖关系 在实际开发中: 应该做到,编译期不依赖,运行时才依赖 解耦思路: 第一步:使用反射来创建对象,而避 ...