第11章 【高价值个人成长经验分享】课程总结
第10章 框架层面的面试技巧(教你轻轻松松搞定面试官,拿下offer )
第9章 【课程升级】 Tp6版本剖析
第8章 【其他核心类库解读】异常处理、缓存(重点章节,不多看都不好意思说听明白)
第7章 【重点章节,建议多回听】模型以及视图层深度解读
第6章 【如何轻松掌握控制器灵魂】控制器解读
- Traint可以解决PHP单继承的窘境
- 一个类可以组合多个Trait,通过逗号相隔,如下
use trait1,trait2
第5章 【重点章节】框架执行流程以及路由解读
- 路由完全匹配 Route::get(‘new/:cate$’, ‘News/category’);
-
‘route_complete_match’ => true,// 开启路由完全匹配
- 可选参数 Route::get(‘blog/:year/[:month]’,‘Blog/archive’);
- 1
第4章 TP5 IOC容器及Facade 深度解析(掌握核心类库的使用,挑战高薪)
- 单例模式
- 注册数模式:通过将对象实例注册到一颗全局的对象树上 ,tp5中的容器就是采用了此思想
- 门面模式 Container 利用反射机制按需创造出需要的类,反射是为了方便让程序来实例化类,效率没有直接实例化高
- 反射是否真的会让你的程序性能降低?https://developer.51cto.com/art/201412/461500.htm
第3章 【你必须要掌握的配置文件】解读配置文件
- ArrayAccess 如果类实现此接口的话,可以芭蕾当做数组使用
- 高性能的php配置管理扩展yaconf
- 如果安装了yaconf扩展的话,thinkphp会自动调用它 thinkphp/library/think/Config.php $this->yaconf = class_exists(‘Yaconf’);
- 工厂模式
public function parse($config, $type = '', $name = '')
{
if (empty($type)) {
$type = pathinfo($config, PATHINFO_EXTENSION);
}
$object = Loader::factory($type, '\\think\\config\\driver\\', $config);
return $this->set($object->parse(), $name);
}
第2章 【TP5灵魂】自动加载Loader 深度分析(重点章节,请认真听,建议多次回听)
1.关于PHP中spl_autoload_register()函数用法详解 https://www.php.cn/php-weizijiaocheng-400053.html
2 // 注册类库别名 thinkphp/base.php
// 注册类库别名
Loader::addClassAlias([
'App' => facade\App::class,
'Build' => facade\Build::class,
'Cache' => facade\Cache::class,
'Config' => facade\Config::class,
'Cookie' => facade\Cookie::class,
'Db' => Db::class,
'Debug' => facade\Debug::class,
'Env' => facade\Env::class,
'Facade' => Facade::class,
'Hook' => facade\Hook::class,
'Lang' => facade\Lang::class,
'Log' => facade\Log::class,
'Request' => facade\Request::class,
'Response' => facade\Response::class,
'Route' => facade\Route::class,
'Session' => facade\Session::class,
'Url' => facade\Url::class,
'Validate' => facade\Validate::class,
'View' => facade\View::class,
]);
- 生成classmap.php文件命令:php think optimize:autoload
- Thinkphp类的映射优化生成classmap.php文件https://blog.csdn.net/weixin_40896800/article/details/104196282
- 2
- 2