首页 » 网站推广 » slimphpview技巧_Slim框架进修笔记之视图View

slimphpview技巧_Slim框架进修笔记之视图View

访客 2024-12-04 0

扫一扫用手机浏览

文章目录 [+]

Slim运用程序将模板的呈现委托给其视图工具。
Slim运用程序视图是\Slim\View实现此接口的子类:

<?php

slimphpview技巧_Slim框架进修笔记之视图View

public render(string $template);

slimphpview技巧_Slim框架进修笔记之视图View
(图片来自网络侵删)

视图工具的render方法必须返回其$template参数指定的模板的呈现内容 。

2.Rendering渲染

您可以利用Slim运用程序的render()方法来要求当前视图工具呈现具有给定变量集的模板。
Slim运用程序的render()方法将从echo()视图工具返回的输出由输出缓冲区捕获并自动附加到相应工具的主体。
这不假设模板的呈现办法; 委托给视图工具的。

<?php

$app = new \Slim\Slim();

$app->get('/books/:id', function ($id) use ($app) {

$app->render('myTemplate.php', array('id' => $id));

});

如果须要将路由回调中的数据通报给视图工具,则必须通过将数组作为Slim运用程序render()方法的第二个参数通报,如下所示:

<?php

$app->render(

'myTemplate.php',

array( 'name' => 'Josh' )

);

您还可以在呈现模板时设置HTTP相应状态:

<?php

$app->render(

'myTemplate.php',

array( 'name' => 'Josh' ),

404

);

3.Custom习气

Slim运用程序将模板的呈现委托给其视图工具。
自定义视图是\Slim\View实现此接口的子类:

<?php

public render(string $template);

视图工具的render方法必须返回其$template参数指定的模板的呈现内容 。
调用自定义视图的render方法时,会将所需的模板路径名(相对付Slim运用程序的“templates.path”设置)作为其参数通报。
这是一个示例自定义视图:

<?php

class CustomView extends \Slim\View

{

public function render($template)

{

return 'The final rendered template';

}

}

自定义视图可以在内部实行任何操作,只要它将模板的渲染输出作为字符串返回即可。
自定义视图可以轻松集成盛行的PHP模板系统,如Twig或Smarty。

当心!
自定义视图可以访问Slim运用程序的render()方法通报给它的数据 $this->data。

您可以在GitHub上的Slim-Extras存储库中浏览可与常用PHP模板引擎一起利用的即用型自定义视图。

示例视图

<?php

class CustomView extends \Slim\View

{

public function render($template)

{

// $template === 'show.php'

// $this->data['title'] === 'Sahara'

}

}

示例集成

如果注册的自动加载器无法创造自定义视图,则必须在实例化Slim运用程序之前利用它。

<?php

require 'CustomView.php';

$app = new \Slim\Slim(array(

'view' => new CustomView()

));

$app->get('/books/:id', function ($id) use ($app) {

$app->render('show.php', array('title' => 'Sahara'));

});

$app->run();

4.Data 数据

当心!
您很少直接在视图工具上设置或附加数据。
常日,利用Slim运用程序的`render()`方法将数据通报给视图。
请拜会渲染模板。

视图工具setData()和appendData()方法将数据注入视图工具; 注入的数据可用于查看模板。
视图数据在内部存储为键值数组。

设置数据

视图工具的setData()实例方法将覆盖现有视图数据。
您可以利用此方法将单个变量设置为给定值:

<?php

$app->view->setData('color', 'red');

视图的数据现在将包含值为“赤色”的键“颜色”。
您还可以利用视图的setData()方法批量分配全体数据数组:

<?php

$app->view->setData(array(

'color' => 'red',

'size' => 'medium'

));

请记住,视图的setData()方法将更换所有以前的数据。

附加数据

视图工具还有一个appendData()方法,可以将数据附加到视图的现有数据。
此方法接管一个数组作为其唯一参数:

<?php

$app->view->appendData(array(

'foo' => 'bar'

));

标签:

相关文章

介绍直播新纪元,轻松进入直播的五大步骤

随着互联网技术的飞速发展,直播行业在我国逐渐崛起,越来越多的人选择通过直播这一新兴媒介展示自己、分享生活、传递价值。对于许多新手来...

网站推广 2025-01-03 阅读1 评论0

介绍相机美颜原理,科技与美学的完美结合

随着科技的发展,智能手机的摄像头功能日益强大,美颜相机成为了许多人拍照的首选。美颜相机不仅满足了人们对于美的追求,更在视觉上给人带...

网站推广 2025-01-03 阅读1 评论0

介绍磁铁的制造,科学与艺术的完美结合

磁铁,一种神秘的物质,自古以来就吸引了无数人的目光。它不仅具有独特的磁性,还能在工业、医疗、科研等领域发挥重要作用。磁铁是如何制造...

网站推广 2025-01-03 阅读1 评论0

介绍电瓶激活方法,让电池焕发新生

随着科技的不断发展,电动汽车逐渐成为人们出行的首选。而电瓶作为电动汽车的核心部件,其性能直接影响着车辆的续航里程和行驶体验。新购买...

网站推广 2025-01-03 阅读1 评论0