1.
在视图控制器中使用
$this->res()
方法来生成资源文件的绝对路径
$this->res('css/style.css');
生成的连接为http://youdomain.com/static/css/style.css
2. 生成指定app名称的连接
$this->appUrl()
第一个参数为基础url, 第二个参数为app名称, 第三个参数为 控制器:方法 第四个参数为参数列表, 第五个参数标识是否生成加密连接
3. 在布局文件中调用视图控制器的方法
直接在布局文件中使用$this->action()
就可以调用视图控制器中的方法, 如下例
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="Keywords" content="<?php echo isset($keywords) ? $keywords : "默认关键词"); ?>"/>
<meta name="Description" content="<?php echo isset($description) ? $description : '默认描述'; ?>"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<title><?php echo isset($title)?$title:'默认标题' ?></title>
<?php $this->loadRes() ?>
</head>
<body>
<?php echo isset($content)?$content:'' ?>
</body>
</html>
4. 在模板中生成链接
扫描二维码关注公众号,回复:
152589 查看本文章
在模板中调用
url
方法, 可以自动生成连接, 如果方法有别名, 会优先使用别名
$this->url('controller:action', array('key'=>'value'));
5. 在控制器中跳转到其他控制器
$this->to([controller:action, params, sec])
跳转到指定页面,该方法实际是一个
$this->view->link()
的连接, 生成url后用header函数跳转.
6. 在控制器中调用视图
$this->display([data, method, http_response_status])
调用视图控制,一个
$this->view->display()
的连接。
7. 在控制器中接收参数
假设当前的url为
http://domain/skeleton/htdocs/web/controller/action/p1/1/p2/2
在方法内部使用控制器的 $this->params
属性可以获得参数的值:
namespace app\web\controllers;
use Cross\MVC\Controller;
class User extends Controller
{
function index()
{
print_r($this->params);
}
}
打印结果为一个关联索引数组 此时 skeleton/app/web/init.php
中的值为url['type'] = 3
Array ( 'p1' => 1 'p2' => 2 )
打印结果根据app配置文件中url项的设置, 可能会有差异
8. 在控制器中使用modules
在控制器中使用modules,以使用UserModules为例:
namespace app\web\controllers;
use Cross\MVC\Controller;
class User extends Controller
{
function index()
{
$USER = new UserModules();
}
}
如果类中每个action都依赖UserModules
, 可以把初始化UserModules的工作放到构造函数中:
namespace app\web\controllers;
use Cross\MVC\Controller;
class User extends Controller
{
/**
* @var UserModule
*/
protected $USER;
function __construct()
{
parent::__construct();
$this->USER = new UserModule();
}
function index()
{
}
}
然后就可以在控制器中调用modules提供的方法了.
9. 在视图模板中访问指定路由
等效于 : http://up.kuman.com/api/getWithdrawInfo(将网址写成固定,但是这种方式有一个缺点,一般线上和本地调试不会用同一个域名,如果直接写成固定,到时上线后,还需要逐个更改我们定义的路由)
所以,在crossPHP中,还是推荐这种方式进行路由的指定