什么是框架?
就是一堆代码的集合,这些代码可以有变量、常量、函数、类等等。这些代码彼此紧密联系,彼此有合作关系。里边还有设计模式:MVC、单例、工厂等等。
为什么学习框架?
1. 我们全部精力都可以集中在业务层次,可以节约60%左右的工作量
2. 这个功能体可以帮组我们快速、稳定、高效搭建程序系统
3. 系统的健壮、维护、灵活、适应客户需求方面得到大大加强
成熟框架
1 zendFramework : 官方框架。重量
2 Yii:OOP 重量
3 cakephp: 中量
4 symfony 重量
5 CodeIgniter 轻量
6 ThinkPHP 轻量
7 等等,还有许多不知名的框架。
什么时候使用框架
1. 程序项目代码非常多,功能非常复杂。
2. 项目时间非常紧迫。
应用目录说明
项目应用
boke应用目录说明(程序运行后自动创建的目录)
应用的入口文件:
MVC设计模式
入口程序文件
C:控制器controller
V:视图view
M:模型 model
编译缓存文件~runtime.php
是tp框架为了性能考虑,把系统需要加载的许多文件,都给编译到一个文件里边了,这个文件就是~runtime.php,这样系统节省了许多文件打开、关闭的开销。
代码追踪:
1. index.php 入口
2. ThinkPHP.php
3. ThinkPHP/Common/runtime.php
4. Think::Start(); ThinkPHP/Lib/Core/Think.class.php
l Think::buildApp()
l App::run() ThinkPHP/Lib/Core/App.class.php
5 App::run()
l App::exec();
利用反射机制,实例化控制器对象,调用对应的方法
注意:
我们的css、js、img图片等网站资源,需要单独被访问到。
通过路由进行web请求
模板创建:
控制器调用模板显示内容:
- 通过display()调用具体模板
- 在Tpl目录创建下边创建对应的模板文件
- 修改模板文件的css和img图片目录 地址,css样式的图片地址修改
- 在入口文件index.php制作css、img、js常量供模板使用
现在的入口文件:
总结:
- 利用tp框架创建应用,制作入口文件(go/index.php)
- 创建多个控制器,参考index控制器。所有控制器有继承Action父类
- 通过控制器调用视图模板display()
- 展示模板内容
在Tpl下边创建模板
修改css、img对应目录地址
以上就介绍了Thinkphp入门 一 (45),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增强codemodocultion,可验证性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

选择DependencyInjection(DI)用于大型应用,ServiceLocator适合小型项目或原型。1)DI通过构造函数注入依赖,提高代码的测试性和模块化。2)ServiceLocator通过中心注册获取服务,方便但可能导致代码耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)启用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替换loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化进行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Dreamweaver CS6
视觉化网页开发工具

Atom编辑器mac版下载
最流行的的开源编辑器