企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
四、视图 模板配置 1、视图的配置文件:system/config/views.php 2、使用:return views("view.php")方法来返回指定的视图文件。 3、此方法不传递参数时的查找方法:当前方法所在的模块中的views目录中,查找当前控制器名目录中,查找当前动作名的视图文件。即当前的方法为:home/index/action;则会查找的视图文件为:home/views/index/action.php 4、当传递视图文件名参数时,系统会从系统根目录进行查找。所以最好跟上一定的路径:return views("/temp/show.php");;这样系统会查找指定路径下的指定文件。 数据分配 1、数据分配可以将例如从数据库中读取的数据分配到加载进来的view文件视图之中。(这些views中的文件,被加载进来后是否能使用系统中的对象和数据的。)。 2、数据分配方法: 单一数据分配:view::with(key,value) 数组数据分配:view::with([key1=>value1,key2=>value2]) 3、视图中数据接收方式:{{$key}} 分配:view::with([key1=>value1,key2=>value2]) 接收:{{$key1}} {{$key2}} 4、显示模板:return view(); return view(path) 5、分配数据时同时显示模板 return view::whith(key,value)->make(); return view::make()->with(key,value) 6、在视图模板中使用{{var}}来读取同名的变量的值,同时也可以用来执行任意的php代码。 7、忽略解析而直接输出:在两个大括号前加上@即可。@{{var}}这样会被直接输出。 实例: View::with("name","zxy");传送 {{$name}}接收 要注意:View::with() V是大写的,是使用类名来调用其静态方法,类名都是大写的! View::with("name","zxy"); View::with(["key1"=>"value1","key2"=>"value2"]); //return View::with(["key3"=>"value3","key4"=>"value4"])->make(); return View::make()->with(["key3"=>"value3","key4"=>"value4"]); //return view(); 都尝试了一次,都正常。 请求响应 1、请求响应:当页面执行相关操作时反馈给用户的一些消息、警告、提示等 2、配置文件位置:system/config/view.php 3、种类:消息、确认 消息:message( $提示内容, $跳转方式', $消息类型, $显示时间 ) 提示内容:由用户来自定义 跳转方式:1:back或为空(返回上一页) 2:refresh(刷新当前页) 3:具体Url 消息类型:success(成功),error(失败),warning(警告),info(提示) 显示时间:单位秒,此提示信息显示的时间长短 确认:confirm('确定删除吗?',u('ok'),u('cancel')); 确定删除吗:提示信息 u('ok'):点击确认时所要跳转的页面 ,u('cancel'):点击取消时所要执行跳转的页面。 message( "这是提示信息!", $redirect = 'back', $type = 'success', $timeout = 30 ); confirm('确定删除吗?',u('ok'),u('cancel')); 测试正常 模板继承 模板继承:创建一个父模板文件,在父文件中用<blade name="content"/><widget name="header">这样标签定义一些区域。再创建子文件继承父文件<extend file='master'/>,并且在子文件中使用block标签定义视图内容,block替换“父级模板"中相同name属性的blade标签,parent标签用于将父级模板 widget标签内容显示到此处,parent标签支持向父级传递内容如上例中的title,父级中使用{{title}}方式调用。 父文件 子文件 <extend file='master'/> <blade name="content"/> <=填充 <block name="content">内容</block> 1、父文件中: blade标签是让子文件来填充 widget标签是去填充子文件 2、子文件中 block标签是去填充父文件的blade标签 parent是让父文件的widget标签来填充 3、总的来说有2点: 父文件填充子文件区域:widget->parent 子文件填充父文件区域:block->blade