yii总结
relations:
'blocks'=>array(self::HAS_MANY, 'ResourceBlock', 'machine_id', )
$machines = Machine::model()->with('blocks')->findAll('blocks.app_id=:app_id',array(
'app_id'=>$appId,));
json_decode($machine['machine_spec'],true) //将json数据转为数组
json_decode($machine['machine_spec']); //json转为stdObject对象
将xml解析成数组
public function xmlToArray($xml) {
$xml = (array)(simplexml_load_string)($xml);
$ret = array();
foreach($xmlArray as $key=>$item) {
$ret[$ret] = $this->structToArray($item);
}
return $ret;
}
public function structToArray($item) {
if(!is_string($item)) {
$item = (array)$item;
foreach($item as $key=>$value) {
$item[$key] = $this->strcutToArray($value);
}
}
return $item;
}
returnUrl
/**
* 获取返回 URL
* 用于动作执行完毕后的跳转.
* @param mixed $defaultUrl 默认跳转
* @return string
*/
public function getReturnUrl($defaultUrl = null) {
if (isset($_GET['returnUrl'])) {
return $_GET['returnUrl'];
}
if (isset($_POST['returnUrl'])) {
return $_POST['returnUrl'];
}
if ($this->_returnUrl !== null) {
return $this->_returnUrl;
}
if (Yii::app()->request->urlReferrer != null) {
return Yii::app()->request->urlReferrer;
}
if ($defaultUrl != null) {
return CHtml::normalizeUrl($defaultUrl);
}
return Yii::app()->getBaseUrl();
}
解释:
就是如果找不到回头路,就默认走一条之前指定的路。
如果在参数里有returnUrl 就返回returnUrl
如果没有,就找从哪个网页来的,就是referer
如果还找不到,就看默认值
默认值没有,就返回网站根目录。