1、传统的网站开发模式有何局限?(ACD)
A开发效率低
B适合团队协作,分工简单
C任务分工时交叉点较多,不易平行开展
D适合单打独斗
2、MVC的开发模式有何特点?(ABCD)
A适合分组开发,无交叉任务
B整合容易
C是目前比较流行的软件开发思路
D分组任务性质单一,可专注于一个领域的任务
3、MVC分别代表什么含义?(ADF)
A M代表模型Model,跟数据库访问相关
B M代表模式mode,跟网站配置模式有关
C V代表声音voice,跟视频有关
D V代表视图view,跟网页的前台展现有关
E C代表Center,跟核心脚本有关
F C代表控制器Controller,跟PHP动态编程有关
4、下面关于ThinkPHP的说法,哪个是错误的。(BD)
A 是国产的一款PHP开发框架产品
C 它是本课程选择的MVC框架
D 官网地址为:www.thinkphp.net
5、一台电脑的CPU是64bit的,已经安装的web服务器是appache。如果要在本机安装php7.4.9,下面哪一个是可用的版本?(BD)
A VC15 x64 Non Thread Safe
B VC15 x64 Thread Safe
C VC15 x86 Non Thread Safe
D VC15 x86 Thread Safe
6、下面哪个不是合法的SQL的归类函数?(C )
A AVG B SUM C CURRENT_DATE() D MAX
7、在ThinkPHP6.0.3的应用结构中,哪一个目录是用来保存资源的目录?(A)
A public
B app
C vendor
D config
8、在ThinkPHP6.1.X的应用结构中,哪一个目录是新增的目录?(D)
A public
B app
C vendor
D config
9、以下代码执行结果为:(A )
$num=”24linux”+6
echo $num;
?>
A 30 B 24linux6 C 6 D 30linux
10、localhost:8080/mvc/public/index.php
此URL是基于thinkphp框架开发的项目的一个合法URL,下面哪个选项是这个URL的完整形式:(C)
A localhost:8080/mvc/public/index.php/index.html
B localhost:8080/mvc/public/index.php/index/index.html
C localhost:8080/mvc/public/index.php/index/index/index.html
D localhost:8080/mvc/public/index.php/index/index/index/index.html
11、在多应用模式下,控制器Hello.php中定义了一个方法,其脚本如下:
public function show()
{
return view();
}
下面说法错误的是(AD)
A 渲染的视图文件名是hello.html
B 渲染的视图文件名是show.html
C 渲染的视图文件保存的位置是:view/hello/
D渲染的视图文件保存的位置是:view/show/
12、定义路径字符串的文件是(B)
A config/app.php
B config/view.php
C config/route.php
D .env
13、
- IMG/logo.gif
关于上述脚本说法正确的是(ABC)
A 路径字符串IMG需要提前定义
B第一个li中是打印图片的路径
C 第二个li中是打印图片
D 在动态脚本中可以调用路径字符串的值
14、如果在方法渲染模板文件时,其默认的模板文件名为方法名的小写+下划线,则auto_rule的值应该设置为:(A)
A 1
B 2
C 3
D 4
15、以下哪些是tp框架的数据库操作语句?(ACD)
A where() B from() C add() D select()
16、关于综合练习一的任务内容,下面说法错误的是(BD)
A 需要创建2个控制器文件,分别是User.php和Index.php
B 项目的名称为forum_+姓名拼音,可以使用中文字符
C 视图文件login.html为控制器User.php服务
D 视图文件login.html为控制器Index.php服务
17、关于登录页面说法正确的是(AC)
A 文件名字为login.html
B 文件保存位置为view/index/
C 渲染文件的方法为login
D 方法login定义在Index.php中
18、关于论坛前台登录功能的设计,下面说法正确的是:(BD)
A其控制脚本写在控制器类User.php的方法reg中
B其控制脚本写在控制器类User.php的方法login中
C 登录对应的模板页面login.html应该保存在应用目录view/login/
D登录对应的模板页面login.html应该保存在应用目录view/user/
19、关于调用public中资源的路径字符串,下面说法错误的是:(ACD)
A 定义模板文件路径字符串的参数名为tpl-replace-string
B 定义模板文件路径字符串的参数名为tpl_replace_string
C 路径字符串仅可以在模板页面中调用,且必须是作为标签的参数值
D 路径字符串可以在控制器方法中调用
20、ThinkPHP中支持配置模式的优先级是怎样的?(A )
A惯例配置->项目配置->调试配置->分组配置->拓展配置->动态配置
B调试配置->项目配置->动态配置->分组配置->拓展配置->惯例配置
C项目配置->分组配置->惯例配置->拓展配置->动态配置->调试配置
D惯例配置->动态配置->调试配置->分组配置->项目配置->拓展配置
21、关于全局配置说法正确的是: (BC)
A存放在app的根目录下,适用于所有的应用
B存放在config的根目录下,适用于所有的应用
C如果某个应用同时配置了应用配置,由于全局配置优先级低,所以应用配置被优先调用
D 全局配置的值尽量不要使用环境变量,这样方便配置和管理参数
22、关于环境变量文件,下面说明正确的是:(BCD)
A .env文件可以放置在任何位置,TP会自动寻找并加载
B 环境变量的名称应该使用大写字母
C 环境变量的获取不区分大小写
D 获取环境变量的助手函数env在使用时无需引入Config类
23、ThinkPHP中常用的系统变量包括(BD)
A server B session C copy D cookie
24、
return [
// 默认使用的数据库连接配置
'default' => env('database.driver', 'mysqladmin'),
// 数据库连接配置信息
'connections' => [
// 第一套方案,默认方案
'mysqladmin' => [
// 数据库类型
'type' => env('database_forumadmin.type', 'mysql'),
// 数据库名
'database' => env('database_forumadmin.database', ''),
// 用户名
'username' => env('database_forumadmin.username', 'root'),
// 密码
'password' => env('database_forumadmin.password', ''),
// 数据库表前缀
'prefix' => env('database_forumadmin.prefix', ''),
],
// 更多的数据库配置信息
],
];
在文件.env中设置了的环境变量参数为:
[DATABASE_FORUMADMIN]
DATABASE = forum
PASSWORD = 99999999
USERNAME = admin
PREFIX = zhangs_
下面说法错误的是:(BCD)
A 环境变量中没有设置type这个参数值,所以会使用默认值mysql
B 数据库连接变量type的值可以无需配置
C 数据库连接变量username的值是root
D 因为没有定义数据库连接默认配置mysql,所以这个database.php的配置是不完整的
25、下面哪个是错误的助手函数view调用:(BD)
A return view("" , ["name"=>myid]);
B return view(["name" = $myname]);
C return view("user/login");
D return view("hello" , ["name" = myid]);
26、开启调试模式,需要加哪句代码?(B)
A define('WITH_ROUTE', true);
B define('APP_DEBUG', true);
C define('DEFAULT_APP', true);
D define('SHOW_ERROR_MSG', true);
27、下面数据库的命名方式,符合ThinkPHP规范的是:(C)
A 数据库名:zhangSanTeach
B 数据库表名:Forum_admin
C 字段名:stu_name
D 字段名:teName
28、下面关于应用配置,说法错误的是:(AC)
A 应用配置的优先级是最高的
B 应用配置仅影响一个应用
C 应用配置的配置文件应该保存在某应用的根目录下
D 应用配置的配置文件应该保存在某应用根目录的config子目录下
29、关于success和error跳转方法,说法正确的是:(AB)
A 需要使用composer安装相关的jump组件
B 两个方法的第一个参数是提示信息
C 两个方法的第二个参数是跳转目的地,不可以省略
D 两个方法加载的页面由组件定义,其样式不可以修改
30、如何在在Action中调用方法获取系统变量?( B)
A this->方法名("变量名",["变量名"],["默认值"])
B $this->方法名("变量名",["过滤方法"],["默认值"])
C $this->方法名("过滤方法",["变量名"],["默认值"])
D this->方法名("变量名",["过滤方法"],["默认值"])
31、在论坛前台设计中,跟登录相关的方法有:(AB)
A login
B doLogin
C reg
D doReg
32、把修改密码和上传头像的方法定义在控制器Index中的主要原因是:(CD)
A 它们是与发帖相关的功能
B 它们是论坛的核心功能
C 为了方便调用控制器Index中的check方法
D它们与控制器Index中的几个方法有共同特征:登录后才可以访问,故需要检查登录状态
33、ThinkPHP支持哪几种URL模式?(BC)
A兼容模式 B 普通模式 C PATHINFO D REWRITE
34、关于方法reg和doReg,说法正确的是:(ABD)
A 都是跟注册有关的方法
B 方法reg是渲染注册表单,方法doReg是表单提交后执行用户账户的写入
C 方法doReg是渲染注册表单,方法reg是表单提交后执行用户账户的写入
D 用户访问流程是regàreg.htmlàdoReg
35、关于入口文件,说法正确的是:(ABD)
A TP规定,所有的应用都是从入口文件开始的
B TP6.0.x默认的应用入口文件位于public目录
C 入口文件可以通过配置在URL地址中隐藏,URL中的public也可以隐藏
D 隐藏入口文件,需要配置appache的配置文件httpd.conf,同时还需要在入口文件同级目录中添加.htaccess文件
36、以下超全局变量说法正确的是?( B)
A $_REQUEST ----->所有的变量都放在里面
B $_SERVER ----->系统环境变量
C $_SESSION ----->可以接收到get和post两种方式的值
D $_FILES ----->会话控制的时候会用到
· $_GET ----->get传送方式
· $POST ----->post传送方式
· $REQUEST ----->可以接收到get和post两种方式的值 ***
· $GLOBALS ----->所有的变量都放在里面
· $FILE ----->上传文件使用
· $SERVER ----->系统环境变量 * **
· $SESSION ----->会话控制的时候会用到
· $COOKIE ----->会话控制的时候会用到
37、下面哪个是标准的PATH_INFO 模式的URL地址,且携带了2个参数:(B)
A http:/domainName/public/index.php/index/index/hello/name/thinkphp
B http:/domainName/public/index.php/index/index/hello/name/thinkphp/id/5
C http:/domainName/public/index.php?s=/index/index/hello/name/thinkphp
D http:/domainName/public/index.php?s=/index/index/hello/name/thinkphp/id/5
38、url(‘forum/index/detail’ , [‘pid’ =>2 , ‘sid’ =>1] )
下面哪个是助手函数URL的生成结果:(D)
A http://servername/public/index.php/forum/index/detail/pid/sid.html
B http://servername/public/index.php/forum/index/detail/pid/2.html
C http://servername/public/index.php/forum/index/detail/pid/sid/2/1.html
D http://servername/public/index.php/forum/index/detail/pid/2/sid/1.html
39、关于隐藏入口文件,下面说法正确的是:(BC)
B 需要在Appache的配置文件httpd.conf中配置加载mod_rewrite.so模块,同时把AllowOverride None改为为ALL
C 要在入口文件的同级目录中添加.htaccess文件
D 要在站点应用目录中添加.htaccess文件
40、关于数据表mes的设计,说法正确的是:(BCD)
A 可以用来存储帖子的回复数据
B 需要存储的帖子信息包含版块编号,因为帖子是根据版块分类的
C 表的主键设计为帖子编号,为自动编号,可以唯一地识别一个帖子
D 帖子信息中的作者信息是用户昵称,可以唯一地识别该用户
41、下面哪些是符合TP规范的数据库名、数据表名和字段名(BC)
A 数据库:guirzForum
B 数据表:guirz_mes
C 字段:u_nick
D 字段:uNick
42、关于登录验证功能的实现,下面说法正确的是:(BD)
A 可以使用select方法进行登录验证,提高查询效率
B 可以使用find方法进行登录验证,提高查询效率
C select方法的查询结果如果不为空,则链式操作返回一个数组
D find方法的查询结果如果为空,则链式操作返回null
43、关于链式操作说法错误的是 :(BC)
A 可以有效的提高数据存取的代码清晰度和开发效率
B 一次查询可以使用多个链式操作方法,方法顺序不分先后,也可以出现在CURD操作后面
C 链式操作whereOr用于AND查询
D 链式操作limit用于限制查询结果数量
44、下面关于session变量说法正确的是:(ABC)
A 在TP中调用session变量不需要提前调用session_start函数,但是需要提前配置中间件开启session
B 表达式session(‘?name’)可以判断变量name是否已经赋值
C 表达式session(null)可以清除所有session变量的值
D 在模板页面打印session变量name的格式为:{:session(name)}
45、下面哪个链式操作方法是实施AND查询:(A)
A where
B whereOr
C and
D order
46、下面哪个是合法的查询构造器:(B)
A db()->where()->where()->find()
B Db::table()->where()->where()->find()
C Db::name()->find()->where()->limit()
D Db::table()->where()->find()->order()
47、关于注销功能,下面说法正确的是:(ABCD)
A 不允许匿名访问该功能
B 方法定义在Index控制器中,可以方便地调用check方法
C 可以使用表达式session(null)或session(“name”,null)来清除session变量的值
D 需要在菜单栏中添加注销的超级链接
48、关于TP中查询记录集的方法select,说法正确的是:(AD)
A 查询结果返回一个记录集对象
B 查询结果返回一个数组
C 可以把返回结果与null进行值的比对,来判断查询结果是否为空
D 需要调用对象的isEmpty方法来判断查询结果是否为空
49、如果要把查询结果按照字段id升序排序,再按字段title降序排序,下面哪个链式操作表达式满足这个需求:(CD)
A order(“id , title”)
B order(["id"=>'desc','title'=>'asc'])
C order(['id'=>'asc',"title"=>'desc'])
D order('id') -> order("title",'desc')
50、关于链式操作,下面说法正确的是:(B)
A order默认选择升序,降序需要在字段后写关键字asc
B limit可以限制查询结果的数量
C where在使用时,第二个参数可以省略
D find是只查询一个结果的链式操作方法
51、如果要在模板页面把时间戳变量$t显示为如下格式的时间:
2019-3-10 20:08
2010-10-9 3:01
下面哪个是正确的模板输入函数调用:(C)
A {$t|date=”Y-m-d H:i”}
B {$t|date=”Y-n-d H:i”}
C {$t|date=”Y-n-j G:i”}
D {$t|date=”Y-m-j G:i”}
52、关于任务间的协商,说法正确的是:(AD)
A 任务协商可以保障任务平行开展
B 协商的内容包括数据库访问的方式
C 协商的内容包括样式表的内容和图片保存的路径
D 协商的内容包括表单的属性和URL参数名
53、在写入数据时,下面说法正确的是:(C)
A insert可以插入一条或多条记录
B inertAll至少要插入两条记录
C 插入记录的返回值就是成功写入记录的条数
D 在论坛前台,发帖、回复、注册和上传头像都是属于写入数据
54、关于注册功能,说法正确的是:(BD)
A 注册时,如果昵称重复,则插入记录操作返回0,可以根据此返回值提示用户重新选择昵称,并退回到注册页面
B 注册时,如果昵称重复,会导致插入记录失败,所以应该在插入记录前先查询昵称是否重复,昵称不重复再执行插入记录的操作
C 注册失败应该跳转到登录页面
D 注册成功应该跳转到登录页面
55、在TP中实现上传前,可以在控制器定义前引入哪个Façade类库,就可以实现上传方法的静态调用:(C )
A think\facade\App
B think\facade\Config
C think\facade\Filesystem
D think\facade\Db
56、以下关于上传头像功能说法错误的是:(ABC)
A 上传头像属于对数据库的更新操作,需要使用能够更新记录的用户,其权限仅有insert就可以了
B 与上传相关的配置文件是view.html
C 根据日期和微秒数生成文件名的规则是md5
D 上传方法disk是用来选择上传时的存储方式
57、下面哪个表达式指向站点根目录的public目录:( B)
A app()->getRuntimePath() . ‘public’
B app()->getRootPath() . ‘public’
C app(‘config’)->get() . ‘public’
D app()->getAppPath() . ‘public’
58、下面哪个方法可以实现更新记录的操作:( AC)
A save
B insert
C update
D new
59、下面哪个是表示等于的比较标签:(CD )
A gt
B neg
C eq
D equal
60、方法showX收到到一个URL参数x,关于该方法渲染的模板页面showx.html,说法正确的是:( AD)
A若方法showX没有把参数x进行参数绑定,那么showx.html就可以直接获取参数x的值
B任何时候showx.html都无法直接获取参数x的值,除非方法showX把参数x的值通过模板变量传递给showx.html
C若showx.html可以直接获取参数x的值,则打印x的值的表达式是{:input($x)}
D若showx.html可以直接获取参数x的值,则打印x的值的表达式是{:input(“x”)}
61、关于视图查询,说法正确的是:( AC)
A可以用于多个表的联合查询
B在进行帖子详细页的帖子查询时,仅需要视图查询mes表和user表
C在进行帖子详细页的回复查询时,仅需要视图查询res表和user表
D在执行视图查询时,打开表用的方法是name
62、以下哪些不是PHP的优势?( A)
A 需要付费 B 面向全局 C 效率高 D 跨平台强
63、关于帖子详细页模板页面,说法正确的是:( AD)
A原贴信息的打印不需要循环模板标签
B回复信息的打印不需要循环模板标签
C匿名访问时隐藏帖子详细页的回复表单需要使用比较标签
D匿名访问时隐藏帖子详细页的回复表单需要使用选择标签
64、为了让帖子内容能够保留空格和换行,有哪些方法是可行的:( AD)
A使用pre标签把显示内容括起来
B使用p标签把显示内容括起来
C定义内容区域的word-spacing样式
D定义内容区域的white-space样式
65、下面关于回复功能,说法正确的是:( )
A方法response不需要调用check
B回复是写入res表,需要用户有insert权限
C回复表中的m_id字段值,是建立回复与原贴的关系
D回复表单在提交时,需要把原贴的m_id通过URL参数或是隐藏域的值传递给方法response
66、现有一个定义在控制器Show中的方法test,其定义脚本如下:
public function test(y){
return view(“” , [‘x’ => y]);
}
如果用户输入的URL为:localhost/forum/show/test/x/2
请问在渲染模板页面时,传递模板变量时调用到的变量x和变量y的值分别为:(D)
A 1 0
B 2 1
C 2 2
D 页面会提示出错
67、关于参数绑定,下面说法正确的是:(ABD)
A 可以防范用户恶意篡改URL地址,删除参数
B 参数同时初始化,可以防范用户恶意删除参数的值
C 实施参数绑定后,在方法中提取URL参数的表达式仍然可以使用input助手函数
D 实施参数绑定后,在方法中提取URL参数的表达式为普通变量的调用,不可以使用input助手函数
68、关于分页显示的说法正确的是:(BCD)
A要实现分页查询,需要在链式操作中把方法find换为paginate
B实施分页查询后,利用查询结果的render方法可以获取分页变量
C可以在模板页面的任意位置打印页码
D分页页面的样式可以由用户自定义
69、关于分页时每一页显示的最多记录数,下面说法正确的是:(ABCD)
A可以直接使用数字常量作为paginate的参数
B可以设置paginate的参数list_rows的值来控制
C如果查询结果记录数少于等于该值,则页码变量的打印结果为空
D如果查询结果记录数大于该值,则页码变量的打印结果不为空
70、下面哪个分页查询结果对象的方法可以获取记录总数:(C)
A render
B count
C total
D show
71、分页查询如果要携带额外的URL参数(参数名为mid,值为$mid),下面哪个是正确的参数赋值表达式:(BD)
A query => request()->param(),
B ‘query’ => request()->param(),
C query => [‘mid’ => $mid],
D ‘query’ => [‘mid’ => $mid],
72、public function detail($mid = 0)
{}
根据detail方法(方法属于应用x,控制器Index)的头部定义,其中mid是帖子的自动编号,detail方法用于渲染帖子详细页。
请问下面哪个url地址一定可以正确加载帖子详细页的内容:( D)
A http://servername/public/index.php/x/index/detail
B http://servername/public/index.php/x/index/detail/mid/1
C http://servername/public/index.php/x/index/detail/mid/200
D 以上都不一定
73、页面post.html的表单标签头部定义如下: