主页 开发教程 youyax框架,入口文件路径的表示方法,掌握必要的两种技巧写法!
狄默默斯基
发表于2014-05-19 10:57:59    只看楼主
楼主
头衔:  精益求精
注册时间: 2014-02-09
用户组: 日常管理组
发帖数:  557
金币数:  310
短消息
youyax的入口文件,即index.php
那什么是入口文件表示法呢???
举一个例子
A用户安装youyax论坛,在网站www.abc.com上
B用户安装youyax论坛,在网站www.def.com上
那么在二次开发过程中总不可能直接写网址,不同的网址有不同的网站路径。
为此,介绍两种通用方法,区分模版和控制器。
在模版中,用户可以使用模版标记 __APP__ 来表示
IndexAction.php
<?php
class IndexAction extends YouYaX{
	public function index(){
		$this->display("index.html");
	}
	public function show(){
		echo '这是show方法';	
	}
}
?>

模版中的代码
index.html
这是一个模版,位于Tpl文件夹下
<hr>
<a href="__APP__/Index
	<?php echo C('default_url'); ?>
	show
	<?php echo C('static_url'); ?>">运行show方法</a>

 'default_url'=>'/',
  'static_url'=>''
这两个参数在config.php下,属于配置属性,可以使用C(参数)方法来获得值。
引用  你好陌生人 ~ 千万别说爱 ~ 让我保持等的姿势继续期待
 
狄默默斯基
发表于2014-05-19 11:12:24
最后更新于 2014-05-19 11:18:02
1楼
头衔:  精益求精
注册时间: 2014-02-09
用户组: 日常管理组
发帖数:  557
金币数:  310
短消息
上面说了第一种方法,在模版中使用 __APP__ ,但是如果我在控制器中或者插件代码中呢,需知道模版标记只适用于模版,
不用担心,本系统中已经为用户配备了另一种方法,便于在控制器代码中操作
系统变量 $this->youyax_url 等效于 __APP__
参看下面例子
<?php
class IndexAction extends YouYaX{
	public function index(){
	 echo '<script>window.location.href="'
            .$this->youyax_url.'/Index'.C('default_url').'show'.C('static_url').'";
	 </script>';
	}
	public function show(){
		echo '这是show方法';	
	}
}
?>
这是简单的$this->youyax_url应用,在一些复杂的逻辑中,是很有必要了解当前的入口文件路径的。
引用  你好陌生人 ~ 千万别说爱 ~ 让我保持等的姿势继续期待
 
狄默默斯基
发表于2014-05-19 11:15:45 2楼
头衔:  精益求精
注册时间: 2014-02-09
用户组: 日常管理组
发帖数:  557
金币数:  310
短消息
依旧看2楼的代码,是否觉得跳转写的很麻烦,确实!
系统中有一种快捷的写法
$this->redirect("Index".C('default_url')."show".C('static_url'));

可以实现相同的功能
redirect里写控制器和相应方法,需要注意url分隔符和后缀
引用  你好陌生人 ~ 千万别说爱 ~ 让我保持等的姿势继续期待

回复人
回复内容

Powered BY YouYaX
个人自主开发论坛,从2010年10月份开发至今!

操作管理