最近几天开始学ThinkPHP。
在学ThinkPHP之前,我先是搜索了一下PHP不同框架的情况,看的云山雾罩。看韩老师的视频课,他好象不太推荐ThinkPHP,但他提到看下招聘网站招聘什么框架工程师更多。我一搜才发现,韩老师的那个视频已经是多年以前的了,而现在早已经不是那时的环境了。韩老师那时讲,ThinkPHP作为一个国内的开源框架,估计不会坚持太长时间。他可能没想到,ThinkPHP已经成了国内PHP框架的主流,招聘网招ThinkPHP工程师已经远远超过了其他PHP框架工程师。
虽然我现在还不能确定我要编写的网站用什么框架最合适,但我果断选择了ThinkPHP。如果有生之年还有机会,再学别的框架吧。
我是从TP6.0极速入门开始的。
课上提到要用Composer我就开始进入晕课状态。现在已经记不太清当时的具体情况了,反正是在项目目录里运行Composer不行,然后又搜索Composer全局运行设置。可以连上了,但是中途不动了。然后又搜索、安装镜像。可能是镜像成功了,因为下载下来了。
课程到设置数据库内容时,又卡住了,首先,老师视频的内容与我下载后打开的/config/database.php内容不完全相同,我当时没太明白怎么回事,按视频的内容改呀改,连不上......。又搜索,按网上的改呀改,连不上......。又搜索,设置php.ini,连不上。又搜索,设置apache,在我设置apache后重启apache时(我是用的phpstudy),才发现我压根没启动apache。是因为最近我都在重学Javascript和CSS,没用php,忘记phpstudy怎么用了。这次我只启动phpstudy,没有点击启动apache,怎么能连的上?!!于是......。
终于设置成功了。现在我也有点明白了,我打开的database.php里的内容好象是面向过程的格式吧?之前学的,稍稍有点印象。
今天学到数据库操作简介这一课,我根本不知道老师是在讲什么,只是根据老师讲的去做,建一个index,把controller移进去。我的文件中的命名空间没有按老师的改过来,这个我没管他,手动改了。又按老师讲的在那个文件里加“?”,然后——报错,说是找不到控制器。
然后我就各种搜索,课后面有评论和问答,发现有我的这个问题。按上面讲的开启多应用模式,我是在cmd打开的目录下直接运行composer require topthink/think-multi-app,可以运行,但中途失败。然后我又各种搜索,说是要在项目目录下操作。我又在www目录下操作,成功,但是——还是报错。
又各种搜索,无果。然后在TP文件夹下操作一遍,还是不行,但是错误有变化,又仔细看,是命名空间没改过来,改过来后,OK了。
其实,到现在我还是不知道这个命名空间是干什么的,之前韩老师的课好象没讲,这个好象是后来的PHP版本才有的。
我还需要再抽时间再学习一下新的PHP课程。