thinkphp5 学习的一些注意事项

2024-05-30 02:58

本文主要是介绍thinkphp5 学习的一些注意事项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用前查看框架的开发规范,做到命名规则的统一

控制器命名的的注意事项

1.建议在配置文件中将控制器的后缀名置为true

// 控制器类后缀
'controller_suffix'      => true,

因为控制器的类名可能会和模型的类名相同,比如User,Customer,Order之类的。

2.控制器尽量使用一个单词,如果使用两个及以上,首字母大写,其他全小写

class UserinfoController extends Controller{public function index(){}
}

如果所有字母都首字母大写UserInfoController,则访问时index.php/index/userinfo/index会报错,只有写成index.php/index/user_info/index才行。

当然这是在url地址大小写不敏感的时候,如果配置大小写敏感,则可以这样访问index.php/Index/UserInfo/index

一般都开启大小写不敏感,便于用户访问和网址的传播

控制器初始化

即类的初始化,之前版本的初始化一直使用的是__construct()魔术方法,是php自带的,5.0版本新增了一个控制器初始化方法是_initialize()
区别:
如果你试了之后会发现,两者都是一样的,在方法执行前执行,但是如果使用5.0版本的控制器前缀方法,那结果将不一样。

class IndexController extends Controller
{protected $beforeActionList = ['isLogin' => ['only'=>'userinfo'],];public function __construct(){parent::__construct();echo 'is construct<br>';}public function _initialize(){parent::_initialize(); // TODO: Change the autogenerated stubecho 'is init<br>';}public function index(){return 'is index';}protected function isLogin(){echo "is login<br>";}public function userInfo(){return 'is userInfo';}//结果/*is initis loginis constructis userInfo*/
}

可以看到_initialize()将先执行,然后是前置方法,再是construct,所以5.0版本的初始化建议使用_initialize()

控制器前置方法使用大小写注意

class IndexController extends Controller
{protected $beforeActionList = ['isLogin' => ['only'=>'userinfo'],];protected function isLogin(){echo "is login<br>";}public function userInfo(){return 'is userInfo';}
}

only对应的方法名中,需要全部小写,即userinfo,写成userInfo前置方法isLogin不会被执行

关于重定向和跳转的使用注意事项

1.继承了Controller,可以直接使用$this->redirect(),或者使用助手函数redirect(),使用助手函数前面需要加return ,即return redirect()。
只有使用助手函数可以使用return redirect()->remember(),记住当前地址,然后可以跳转后再使用return redirect()->restore()跳转回来,$this-redirect()->remember()不能这样使用

2.success和error方法更多的是用于页面的提示和跳转,虽然参数有支持data,但是试验了普通跳转是无法携带的(真的么?),而error方法手册说会在ajax请求时自动转换数据格式并返回,success在ajax请求时不会。
如此麻烦,不如直接舍弃,只用于页面提示的跳转,ajax请求直接使用return [];或者return json([]);

空操作和空控制器

空操作_empty和空控制器Error更多的是用于提示用户,可以定义一个提示页面,将主要的网站功能列在上面,如果用户跳转到一个不存在的地址,可以跳转页面进行友情导航提示

未完待续

这篇关于thinkphp5 学习的一些注意事项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1015391

相关文章

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Python中__new__()方法适应及注意事项详解

《Python中__new__()方法适应及注意事项详解》:本文主要介绍Python中__new__()方法适应及注意事项的相关资料,new()方法是Python中的一个特殊构造方法,用于在创建对... 目录前言基本用法返回值单例模式自定义对象创建注意事项总结前言new() 方法在 python 中是一个

Springboot的自动配置是什么及注意事项

《Springboot的自动配置是什么及注意事项》SpringBoot的自动配置(Auto-configuration)是指框架根据项目的依赖和应用程序的环境自动配置Spring应用上下文中的Bean... 目录核心概念:自动配置的关键特点:自动配置工作原理:示例:需要注意的点1.默认配置可能不适合所有场景

Spring Cloud Hystrix原理与注意事项小结

《SpringCloudHystrix原理与注意事项小结》本文介绍了Hystrix的基本概念、工作原理以及其在实际开发中的应用方式,通过对Hystrix的深入学习,开发者可以在分布式系统中实现精细... 目录一、Spring Cloud Hystrix概述和设计目标(一)Spring Cloud Hystr

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

Idea调用WebService的关键步骤和注意事项

《Idea调用WebService的关键步骤和注意事项》:本文主要介绍如何在Idea中调用WebService,包括理解WebService的基本概念、获取WSDL文件、阅读和理解WSDL文件、选... 目录前言一、理解WebService的基本概念二、获取WSDL文件三、阅读和理解WSDL文件四、选择对接

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

JAVA中while循环的使用与注意事项

《JAVA中while循环的使用与注意事项》:本文主要介绍while循环在编程中的应用,包括其基本结构、语句示例、适用场景以及注意事项,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录while循环1. 什么是while循环2. while循环的语句3.while循环的适用场景以及优势4. 注意