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

相关文章

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. 注意

使用Spring Cache时设置缓存键的注意事项详解

《使用SpringCache时设置缓存键的注意事项详解》在现代的Web应用中,缓存是提高系统性能和响应速度的重要手段之一,Spring框架提供了强大的缓存支持,通过​​@Cacheable​​、​​... 目录引言1. 缓存键的基本概念2. 默认缓存键生成器3. 自定义缓存键3.1 使用​​@Cacheab

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss