-
介绍view助手函数,主要用于指定显示的视图层页面 view() 第一个参数,指定显示的视图层的位置, 如果直接写 'upload'则表示在指定模块下的view目录中的指定的html文件, 若需指向入口文件的目录, 可使用'./'方式来表示,./html/upload 表示upload.html文件在入口文件下的html目录中 view() 第二个参数,指定传给视图层页面的变量,是一个[](数组,若有多个变量则继续在数组中追加元素即可), 视图层页面默认使用“{变量名}”显示,具体的分界符修改见下一份笔记 view() 第三个参数,指定会替代视图层页面的哪些字符,是一个[](数组,若有多个需要替换的变量则继续在数据中追加元素即可), 替换的字符区分大小写,若字符为大写则指定替换大写
查看全部 -
编写接口文件时,如果可以通过设置default_return_type来动态修改返回值的类型,
若地址栏中输入 http://localhost/api/Index/getUserInfo?type=json
则在api模块下的Index控制器 getUserInfo方法中,只需写如下格式:
public function getUserInfo($type='json'){
//$type参数不需要使用get即可直接获取到
//若要调用Config方法,则必须通过 use think\Config命名空间加载Config类
Config::set('default_return_type',$type);
$arr=[
'username'=>'aaaa'
];
return $arr;
}
查看全部 -
thinkphp5 中不允许在控制器或控制器方法中进行die()操作,可能会影响response对象的返回
如果要在页面上打印一个数据或一个字符串 除 使用dump()函数外,还可以直接return要输出的值
输出默认是一个html格式
在方法中可以通过设置 Config::set("default_return_type","Json");来修改输出在页面的值
查看全部 -
input助手函数 1.可以获取请求的参数和值,并对值进行过滤;注意获取请求的参数值,尽可能带上请求的方式,如:input(get.id) ,如果获取的值不存在时,可通过第二个函数进行默认值设置,第三个函数用来过滤获取的值,可将值进行转换 例如转换成intval
2.同时也可以通过request对象下的相关方法获取对应的参数或值,来对值进行相关操作
查看全部 -
不能定义和系统助手函数相同的函数名
查看全部 -
thinkphp5框架入口文件start.php在加载 核心文件app.php时,
调用app::run(方法名称可能有误,具体以项目为准)运行应用实例,
run()方法中调用了Request::instance()方法,App::run()方法返回Response对象,Response->send()调用send的方法将数据返回给请求客户端
故在app应用目录中传递( Request $request)参数 通过$request->方法名()即可调用请求的URL和对应的参数
其中需要注意的是,thinkphp5不同于之前的3.2版本,get()方法不再获取URL中的param部分,只获取URL后缀以?id=5此格式的参数
$request->param()方法可获取除模块/控制器/方法名 之外的param部分,更多的$request请求获取可参照截图及Request.php文件
dump() url()属于tp5提供的助手函数
查看全部 -
上图内容补充
查看全部 -
获取请求对象的三种方式
$request = request( );
dump($request);即可打印出请求的对象
需要先加载request命名空间
use think\Request;
public function index( ){
$request = Request::instance( );
dump($request);即可打印出请求的对象
}
需要先加载request命名空间
use think\Request;
在方法中传入request对象参数 如下:
public function index(Request $request){
dump($request);
}
查看全部 -
若'url_route_must'=> true改为true 则所有的应用模块都必须强制使用路由
查看全部 -
1.先在应用配置文件中定义
conf/config.php/
'url_route_on' => true,
'url_route_must'=> false,这两条规则
2.然后再conf文件夹下新建自定义路由文件route.php.定义规则return ['news/:id' =>'Index/index/ppap']; 3.public function ppap($id) {
echo url('Index/index/ppap',['id'=>17]).'<br/>';
return "{$id}";
}
运行此url localhost/news/5.html 改方法输出
/news/17.html(tp5路由会根据路由规则自动匹配 url助手函数会生成正确的url)
5(根据路由规则匹配到的ID)
查看全部 -
public目录下可创建多个入口文件,不同的入口文件访问不同的模块
比如1、admin.php入口文件绑定 define('BIND_MODULE','admin');定义此常量,访问public/admin.php入口文件时,则默认绑定admin模块,若admin模块不存在,则访问index模块比如2、tp框架提供了一个入口文件自动绑定功能
在应用配置文件config.php中设置"auto_bind_module"=> true,
入口文件名与模块文件名相同时,自动访问与之对应的模块。
等同于在 admin.php中定义 define("BIND_MODULE","admin");
区别是若admin模块不存在,不会访问index模块会报错
查看全部 -
隐藏入口文件:
找到httpd.conf,
搜索rewrite,把前面的#去掉
找到根目录,把allowoverride none改为all
重启服务器
使用了rewrite规则需要在public目录下的有.htaccess文件
查看全部 -
thinkphp隐藏入口文件index.php时
若服务器为apache 可在http.cong配置文件中
修改 LoadModule rewrite_module modules/mod_rewrite.so 去掉#
修改AllowOverride None 为 AllowOverride All
同时还需要注意项目public目录下的.htaccess重定向文件,若项目端口不是默认的80端口,需将.htaccess文件中
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
改为:
RewriteRule ^(.*)$ ?index.php/$1 [QSA,PT,L] 加上?表示匹配端口,或改为
RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]
查看全部 -
可通过.env配置数据库配置
[database] 分组
hostname = "localhost"
username = 'root'
password = 'root'
在真实的环境变量中是,有PHP_前缀
环境变量ENV的配置和使用
1.为什么需要ENV:因为环境不同,应用的参数也可能不同,那么就需要一个可以配置环境变量的文件,根据所处的环境配置相应的参数,
利于对不同环境下工作的人员可通过同一文件,进行简单的参数配置,就可以在他需要的环境下正常运行
2.环境变量ENV配置和使用的实现
a.在根目录下创建.env文件,输入参数的配置key = value来增加环境变量,例如status=dev,表示开发环境;[database]表示分组 host=local user=root password=123,表示一组参数
b.在conf目录下新建配置文件,与环境变量相关的都从.env配置文件中获取值
c.通过引入命名空间use think\Env来获取环境变量,通过系统Env::get(key,"default")函数获取,引入第二个参数是当key不存在时,返回第二个参数的值
查看全部 -
应用配置目录必须要在 public目录下 index.php文件中进行设置
扩展配置目录 名必须为 extra,可在已经设置好的应用配置目录下设置,extra目录下的文件名可自定义,符合tp5定义规则即可
查看全部
举报