⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 behavior.test.php

📁 Cake Framwork , Excellent
💻 PHP
📖 第 1 页 / 共 3 页
字号:
<?php/* SVN FILE: $Id: behavior.test.php 7118 2008-06-04 20:49:29Z gwoo $ *//** * Short description for behavior.test.php *  * Long description for behavior.test.php *  * PHP versions 4 and 5 *  * CakePHP(tm) : Rapid Development Framework <http://www.cakephp.org/> *  * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. *  * @filesource * @copyright            CakePHP(tm) : Rapid Development Framework <http://www.cakephp.org/> * @link                 http://www.cakephp.org * @package              cake * @subpackage           cake.tests.cases.libs.model * @since                1.2 * @version              $Revision: 7118 $ * @modifiedBy           $LastChangedBy: gwoo $ * @lastModified         $Date: 2008-06-04 13:49:29 -0700 (Wed, 04 Jun 2008) $ * @license              http://www.opensource.org/licenses/mit-license.php The MIT License */require_once dirname(__FILE__) . DS . 'models.php';/** * Short description for class. * * @package		cake.tests * @subpackage	cake.tests.cases.libs.model */class TestBehavior extends ModelBehavior {/** * mapMethods property *  * @var array * @access public */	var $mapMethods = array('/test(\w+)/' => 'testMethod', '/look for\s+(.+)/' => 'speakEnglish');/** * setup method *  * @param mixed $model  * @param array $config  * @access public * @return void */	function setup(&$model, $config = array()) {		parent::setup($model, $config);		if (isset($config['mangle'])) {			$config['mangle'] .= ' mangled';		}		$this->settings[$model->alias] = array_merge(array('beforeFind' => 'on', 'afterFind' => 'off'), $config);	}/** * beforeFind method *  * @param mixed $model  * @param mixed $query  * @access public * @return void */	function beforeFind(&$model, $query) {		$settings = $this->settings[$model->alias];		if (!isset($settings['beforeFind']) || $settings['beforeFind'] == 'off') {			return parent::beforeFind($model, $query);		}		switch ($settings['beforeFind']) {			case 'on':				return false;			break;			case 'test':				return null;			break;			case 'modify':				$query['fields'] = array($model->alias . '.id', $model->alias . '.name', $model->alias . '.mytime');				$query['recursive'] = -1;				return $query;			break;		}	}/** * afterFind method *  * @param mixed $model  * @param mixed $results  * @param mixed $primary  * @access public * @return void */	function afterFind(&$model, $results, $primary) {		$settings = $this->settings[$model->alias];		if (!isset($settings['afterFind']) || $settings['afterFind'] == 'off') {			return parent::afterFind($model, $results, $primary);		}		switch ($settings['afterFind']) {			case 'on':				return array();			break;			case 'test':				return true;			break;			case 'test2':				return null;			break;			case 'modify':				return Set::extract($results, "{n}.{$model->alias}");			break;		}	}/** * beforeSave method *  * @param mixed $model  * @access public * @return void */	function beforeSave(&$model) {		$settings = $this->settings[$model->alias];		if (!isset($settings['beforeSave']) || $settings['beforeSave'] == 'off') {			return parent::beforeSave($model);		}		switch ($settings['beforeSave']) {			case 'on':				return false;			break;			case 'test':				return null;			break;			case 'modify':				$model->data[$model->alias]['name'] .= ' modified before';				return true;			break;		}		}/** * afterSave method *  * @param mixed $model  * @param mixed $created  * @access public * @return void */	function afterSave(&$model, $created) {		$settings = $this->settings[$model->alias];		if (!isset($settings['afterSave']) || $settings['afterSave'] == 'off') {			return parent::afterSave($model, $created);		}		$string = 'modified after';		if ($created) {			$string .= ' on create';		}		switch ($settings['afterSave']) {			case 'on':				$model->data[$model->alias]['aftersave'] = $string;			break;			case 'test':				unset($model->data[$model->alias]['name']);			break;			case 'test2':				return false;			break;			case 'modify':				$model->data[$model->alias]['name'] .= ' ' . $string;			break;			}	}/** * beforeValidate method *  * @param mixed $model  * @access public * @return void */	function beforeValidate(&$model) {		$settings = $this->settings[$model->alias];		if (!isset($settings['validate']) || $settings['validate'] == 'off') {			return parent::beforeValidate($model);		}		switch ($settings['validate']) {			case 'on':				$model->invalidate('name');				return true;			break;			case 'test':				return null;			break;			case 'whitelist':				$this->_addToWhitelist($model, array('name'));				return true;			break;			case 'stop':				$model->invalidate('name');				return false;			break;		}		}/** * beforeDelete method *  * @param mixed $model  * @param bool $cascade  * @access public * @return void */	function beforeDelete(&$model, $cascade = true) {		$settings =& $this->settings[$model->alias];		if (!isset($settings['beforeDelete']) || $settings['beforeDelete'] == 'off') {			return parent::beforeDelete($model, $cascade);		}			switch ($settings['beforeDelete']) {			case 'on':				return false;			break;			case 'test':				return null;			break;			case 'test2':				echo 'beforeDelete success';				if ($cascade) {					echo ' (cascading) ';				}			break;		}		}/** * afterDelete method *  * @param mixed $model  * @access public * @return void */	function afterDelete(&$model) {		$settings =& $this->settings[$model->alias];		if (!isset($settings['afterDelete']) || $settings['afterDelete'] == 'off') {			return parent::afterDelete($model);		}			switch ($settings['afterDelete']) {			case 'on':				echo 'afterDelete success';			break;		}		}/** * onError method *  * @param mixed $model  * @access public * @return void */	function onError(&$model) {		$settings = $this->settings[$model->alias];		if (!isset($settings['onError']) || $settings['onError'] == 'off') {			return parent::onError($model, $cascade);		}		echo "onError trigger success";	}		/** * beforeTest method *  * @param mixed $model  * @access public * @return void */	function beforeTest(&$model) {		$model->beforeTestResult[] = get_class($this);		return get_class($this);	}/** * testMethod method *  * @param mixed $model  * @param bool $param  * @access public * @return void */	function testMethod(&$model, $param = true) {		if ($param === true) {			return 'working';		}	}/** * testData method *  * @param mixed $model  * @access public * @return void */	function testData(&$model) {		if (!isset($model->data['Apple']['field'])) {			return false;		}		$model->data['Apple']['field_2'] = true;		return true;	}/** * validateField method *  * @param mixed $model 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -