简单分享下PHP如何优雅的分析 ThinkPHP 框架源码
简介
在这里我说一下小技巧 如果要学习 ThinkPHP 框架源码,应该怎么操作!
1、首先是 IDE
在这里我推荐大家使用 PHPStorm。备注一下,支持正版
这样阅读源码的时候,只需要点击一下就可以跳转到各个加载的文件
2、阅读框架
阅读框架前,希望各位小伙伴了解一下 设计模式
,单例模式
,工厂模式
,注册树模式
等等
框架当中会有很多设计模式
,提前阅读过会比较好理解。
不会问题也不大,我文章会详细讲解到的
3、了解容器
需要了解容器或者说是概念, 容器
,Facade
,依赖注入
,Aop
等等概念
4、跟代码
比如从路由到逻辑代码,一步一步的查看。
如果一次阅读不懂,建议阅读多次,再遇到不懂的可以直接百度,其实这些网上都有的
如果还是不懂,就回到这个系列文章中来,我会一步一步抛出源码内的代码进行分析
5、见解
在阅读源码的时候不要有太多的想法,比如 ThinkPHP
性能不好,ThinkPHP
是不是比 Yii
差,传统的 php-fpm 是不是比不上 swoole 等等想法
我们阅读源码是为了提升自身的见识和优秀的代码等等
对于框架选型,我认为应该按照业务发展,人员技术,公司方向和开发成本考虑
6、框架下载
在这里插入图片描述 在这里插入图片描述按照本文章发布的时间来算的话,官网是没有 5.1 的发布版本下载路径的,最高为 5.0.24 我们可以在 github 上下载到 5.1 的版本
ThinkPHP 官方 github
在这个上面可以下载到最新版本和开发版本 5.1 和 6 版本都可以下载到
7、框架安装 zip 下载也 ok
`composer` 下载,使用 `composer` 记得把镜像地址修改为国内
# composer create-project topthink/think ThinkPHP5.1
`git` 方式下载
# git clone https://github.com/top-think/think.git ThinkPHP5.1
使用国内源
aliyun https://mirrors.aliyun.com/composer/ 推荐
tencent https://mirrors.cloud.tencent.com/composer/
huaweicloud https://mirrors.huaweicloud.com/repository/php/
cnpkg.org https://php.cnpkg.org
laravel-china https://packagist.laravel-china.org
方法 1:修改全局配置
打开终端并执行如下命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
// OR
composer config -g repo.packagist composer https://mirrors.huaweicloud.com/repository/php/
方法 2:修改项目配置
打开终端,进入你的项目的根目录(也就是 composer.json 文件所在目录),执行如下命令:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
// OR
composer config repo.packagist composer https://mirrors.huaweicloud.com/repository/php/
在这里插入图片描述
8、框架访问
这个访问其实是看大家下载的情况,正常的话如果大家电脑有 php 版本就可以运行了
当然也可以用集成环境比如 lnmp
,phpstudy
,docker
这些
我用的是 composer
下载,直接用命令行运行的
访问浏览器 http://127.0.0.1:8000/
在这里插入图片描述9、小建议
推荐大家安装 PHP xdebug 扩展 + phpstorm + 谷歌 xdebug 插件
大家加油!
点关注,不迷路
好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。之前说过,PHP方面的技术点很多,也是因为太多了,实在是写不过来,写过来了大家也不会看的太多,所以我这里把它整理成了PDF和文档,如果有需要的可以
在这里插入图片描述 在这里插入图片描述更多学习内容可以访问【对标大厂】精品PHP架构师教程目录大全,只要你能看完保证薪资上升一个台阶(持续更新)
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入我的 PHP技术交流群