thinkphp5有哪些实用入门进阶知识点和各种常用功能代码
更新时间:2024-01-09控制器(Controller)
控制器(Controller)是整个WEB开发中最重要的一个层次,因为客户端与应用之间的调用、请求和响应等都由控制器来负责处理。ThinkPHP 5中的控制器就像一个经理,它可以管理整个应用并进行各种判断并决定下一步操作。控制器的命名规则是以Controller作为后缀名,如IndexController。控制器也可分为Admin、Home、Api等模块,命名方式例如Admin.Index/Index/index等。在ThinkPHP 5中,可以通过以下方式进行控制器的继承:
class Base extends Controller { public function _initialize() { parent::_initialize(); } }
另外,控制器还可以利用路由(Route)来进行控制器的URL重写。例如,通过以下代码可以实现对控制器的路由重写:
Route::rule('index','index/index');
视图(View)
在MVC模式中,视图(View)是模型(Model)和控制器(Controller)之间的连接器,并负责将控制器(Controller)传送过来的数据绑定到模板上。ThinkPHP 5中使用的渲染引擎是Twig,支持自定义Ajax返回数据格式等功能。另外,ThinkPHP 5中的View默认支持多个皮肤和多级视图的嵌套。使用视图的时候,代码结构应该清晰简洁,主要采用双层遍历的方式查询输出,并且在变量输出时尽量使用“.”连接符来表示层级。以此来减少程序运算时间,提高程序的响应时间。
{% for info in list %}{% endfor %} {{info.id}} {{info.name}} {{info.sex}} {{info.tel}} {{info.addr}} {{info.info}} 删除
模型(Model)
在MVC模式中,模型(Model)是面向数据操作的层次,是整个应用的核心。在ThinkPHP 5中,模型通过Database类来对数据库进行读写操作,开发者可以使用原生SQL语句进行增删改查操作一一或者使用TP框架集成的Query对象查询数据库。另外,模型还支持数据自动验证、多模型关联查询、事务等功能,开发人员需要深入掌握各种常见的数据操作。在使用Query对象查询数据时,应避免使用“*”操作,因为“*”可导致冗余数据的处理以及数据读写速度变慢的问题
class Base extends Model { protected $table = 'admin'; public function checkUser($user,$pass) { return $this->where(array('username'=>$user,'password'=>$pass)) ->find(); } }
扩展(Extend)
ThinkPHP 5提供了较多的扩展方法,并且可以自由编写自己的扩展方法,扩展方法可以在长期使用或者使用多个应用时解决问题。扩展方法可以分为基本扩展、业务扩展和框架扩展等,其中基本扩展包括了时间转换、加密解密、数据格式转换等方法;业务扩展与提供特殊业务接口的代码片段有关;框架扩展则是在原有框架代码的基础上添加了一系列的扩展模块,例如日志log、缓存cache、队列Queue和异常Exception等。
namespace app\common\controller; use think\Cache; class Redis { public static function getInstance() { return Cache::init([ 'type'=> 'redis', 'host'=> '127.0.0.1', 'port'=> 6379, 'password'=> '', 'prefix'=> '', ]); } }
总结
总地来说,ThinkPHP 5框架为开发者提供了一系列的高效、便捷的功能,为我们的工作带来了极大的便利性。学习ThinkPHP 5框架的过程中,我们首先要掌握框架的基本概念和工作模式,然后逐步学习其中的控制器、视图、模型及扩展等重要的知识点。除此之外,还应该注重思考实际应用,并且多与其他开发者互动沟通,来寻找最佳的编程方法和解决问题的思路。随着对框架的了解程度不断深入,我们的开发工作也将更加高效,更加优秀。