Views
MVC中的字母“V”用于视图。 视图负责根据请求将输出发送给用户。 View Classes是加速开发过程的有效方法。
查看模板
CakePHP的View Templates文件具有默认扩展名。 ctp (CakePHP模板)。 这些模板从控制器获取数据,然后渲染输出,以便可以正确地显示给用户。 我们可以在模板中使用变量,各种控制结构。
模板文件存储在src/Template/ ,以使用这些文件的控制器命名的目录中存储,并以与其对应的操作命名。 例如,产品控制器的“view()”操作的View文件通常位于src/Template/Products/view.ctp中。
简而言之,控制器的名称(ProductsController)与文件夹(Products)的名称相同,但没有控制器和控制器(ProductsController)的控制器和操作/方法(view())的名称相同。查看文件(view.ctp)。
查看变量
视图变量是从控制器获取值的变量。 我们可以根据需要在视图模板中使用尽可能多的变量。 我们可以使用set()方法将值传递给视图中的变量。 这些设置变量将在您的操作呈现的视图和布局中可用。 以下是set()方法的语法。
语法 (Syntax)
Cake\View\View::set(string $var, mixed $value)
此方法有两个参数 - the name of the variable its value 。
例子 (Example)
在config/routes.php文件中进行更改,如以下程序所示。
config/routes.php
<?php
use Cake\Core\Plugin;
use Cake\Routing\RouteBuilder;
use Cake\Routing\Router;
Router::defaultRouteClass('DashedRoute');
Router::scope('/', function (RouteBuilder $routes) {
$routes->connect('template',['controller'=>'Products','action'=>'view']);
$routes->fallbacks('DashedRoute');
});
Plugin::routes();
在src/Controller/ProductsController.php创建一个ProductsController.php文件。 将以下代码复制到控制器文件中。
src/Controller/ProductsController.php
<?php
namespace App\Controller;
use App\Controller\AppController;
class ProductsController extends AppController{
public function view(){
$this->set('Product_Name','XYZ');
}
}
?>
在src/Template和该文件夹下创建目录产品创建一个名为view.ctp.的View文件view.ctp. 复制该文件中的以下代码。
src/Template/Products/view.ctp
Value of variable is: <?php echo $Product_Name; ?>
通过访问以下URL执行上述示例。
http://localhost:85/CakePHP/template
输出 (Output)
上面的URL将产生以下输出。