yii框架创建与设置默认控制器并载入模板操作示例

本文实例讲述了yii框架创建与设置默认控制器并载入模板操作。分享给大家供大家参考,具体如下:

一、创建控制器

在protected下的controllers文件夹中创建自定义的控制器文件,比如:

IndexController.php (文件名首字母大写)

IndexController.php文件中添加如下代码:

class IndexController extends Controller {
  //创建方法,方法名称=action+方法名
  public function actionIndex() {

  }
}

二、设置默认控制器

在protected下config/main.php配置文件中,添加

'defaultController' => 'Index'

三、截入视图

//默认载入布局
1.$this->render();
//默认不载入布局
2.$this->renderPartial();

三、什么是布局

在views/layouts下面的文件是布局文件。

公共区域,用render自动加载文件。

修改步骤:

1.views/layouts下面的,新建好布局文件。

2.修改默认布局文件。

位置:components/Controller.php

public $layout = '//layouts/column1';

四、载入外部文件

css与js等一些文件放入assets里面,按照前后台分开。

Yii::app()->request->baseUrl;

例如:

<?php echo Yii::app()->request->baseUrl; ?>/assets/index/css/index.css

Yii::app()返回的是index.php里创建的CWebApplication实例。

在一次请求处理过程中,这是个唯一的实例。Yii::app()负责一些全局性的功能模块。

五、给视图分配数据

$data = array(
  'title' => '标题';
);
$this->render('index', $data);

六、视图中处理分配的数据

在yii中,数据以对象的形式存在。

<?php foreach($data as $v): ?>
<li><?php echo $v->title; ?></li>
<?php endforeach; ?>

七、扩展自定义函数

方法一:

在protected目录下创建一个functions.php文件,在index.php加载app前引入代码。

require_once './protected/functions.php';

方法二:

在protected/components下建立一个工具静态类,如Tools

class Tools {
  public static function dump($arr) {
    echo '<pre>';
    print_r($arr);
    echo '</pre>';
  }
}

在控制器里面直接用Tools::dump()来使用。

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

(0)

相关推荐

  • PHP 基于Yii框架中使用smarty模板的方法详解

    第一种方法按照YII系统的办法生成视图觉得有点麻烦,觉得用smarty更省事.尝试着把smarty模板加进来了. 复制代码 代码如下: date_default_timezone_set("PRC");class PlaceController extends CController {protected $_smarty;function __construct(){parent::__construct('place');//需要一个参数来调用父类的构造函数,该参数为控制器ID$p

  • Yii2框架控制器、路由、Url生成操作示例

    本文实例讲述了Yii2框架控制器.路由.Url生成操作.分享给大家供大家参考,具体如下: 控制器与路由 控制器以Controller作为后缀,继承自yii\web\Controller; 动作以action作为前缀,public访问修饰; 控制器ID 类名去后缀,全部转为小写,如果是驼峰命名多个单词转为中杠分割; 动作ID 去前缀,全部转为小写,如果是驼峰命名多个单词,转为中杠分割: 路由如何指向动作:控制器ID/动作ID URL访问规则:index.php?r=路由 传参使用&参数=值 的方式

  • Yii控制器中filter过滤器用法分析

    本文实例讲述了Yii控制器中filter过滤器用法.分享给大家供大家参考,具体如下: 指定过滤动作,(如下projectContext()方法在新建,列表,管理页面调用时使用) public function filters() { return array( 'accessControl', // perform access control for CRUD operations 'postOnly + delete', // we only allow deletion via POST

  • yii2控制器Controller Ajax操作示例

    本文实例讲述了yii2控制器Controller Ajax操作的方法.分享给大家供大家参考,具体如下: public function actionSample() { if (Yii::$app->request->isAjax) { $data = Yii::$app->request->post(); $searchname= explode(":", $data['searchname']); $searchby= explode(":&quo

  • Yii2创建控制器(createController)方法详解

    本文实例讲述了Yii2创建控制器(createController)方法.分享给大家供大家参考,具体如下: yii中创建控制器的是在application中的request通过UrlManager解析得出路由信息的,然后再由yii\base\Module中的 public function runAction($route, $params = []) 方法来创建控制器,最后由控制器再执行相应的动作. 首先得明确,Yii中的路由分三种情况: 第一种是带有模块的(module id/control

  • 在Yii框架中使用PHP模板引擎Twig的例子

    Twig是一款快速.安全.灵活的PHP模板引擎,它内置了许多filter和tags,并且支持模板继承,能让你用最简洁的代码来描述你的模板.他的语法和Python下的模板引擎Jinjia以及Django的模板语法都非常像. 比如我们在PHP中需要输出变量并且将其进行转义时,语法比较累赘: 复制代码 代码如下: <?php echo $var ?><?php echo htmlspecialchars(\$var, ENT_QUOTES, 'UTF-8') ?> 但是在Twig中可以这

  • yii2 在控制器中验证请求参数的使用方法

    写api接口时一般会在控制器中简单验证参数的正确性. 使用yii只带验证器(因为比较熟悉)实现有两种方式(效果都不佳). 针对每个请求单独写个 Model , 定义验证规则并进行验证. 缺点:写好多参数验证的 Model 类. 使用 独立验证器 中提到的 $validator->validateValue() 方法直接验证变量值.缺点:写实例化很多验证器对象. 有么有"一劳永逸"的做法,像在 Model 中通过 rules 方法定义验证规则并实现快速验证的呢?有! 使用方法(实现

  • Yii 框架控制器创建使用及控制器响应操作示例

    本文实例讲述了Yii 框架控制器创建使用及控制器响应操作.分享给大家供大家参考,具体如下: Yii 框架控制器创建使用 在根目录下的controllers目录下创建控制器HelloController.php: <?php namespace app\controllers; use yii\web\Controller; class HelloController extends Controller{ //方法必须以action开头 public function actionIndex()

  • Yii2设置默认控制器的两种方法

    本文主要给大家介绍了关于Yii2默认控制器设置的内容,分享了两种方法供大家参考学习,下面来一起看看详细的介绍: 方法1: 首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的28行 class Application extends \yii\base\Application { /** * @var string the default route of this application. Defaults to 'site'. */ public

  • Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等

    使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型).Controller(控制器).Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题Yii2可以在视图层View中使用$this->context这个对象去获得. 示例:譬如现在(视图层登陆界面)login.php方法下面: <?php //得到Yii2的当前的控制器Controller echo $this->context->id; //输出结果:site /

随机推荐